ID EN
String Functions

utf8Conversion

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Konversi vektor karakter berkode UTF-8 ke dan dari vektor bilangan bulat yang mewakili pengkodean UTF-32.

Syntax

R
utf8ToInt(x)
intToUtf8(x, multiple = FALSE, allow_surrogate_pairs = FALSE)

Arguments

Parameter Deskripsi
x object to be converted.
multiple logical: should the conversion be to a single character string or multiple individual characters?
allow_surrogate_pairs logical: should interpretation of surrogate pairs be attempted? (See ‘Details’.) Only supported for multiple = FALSE and in R 3.5.0 and later.

Return Value

utf8ToInt mengonversi string karakter sepanjang satu yang dikodekan dalam UTF-8 menjadi vektor bilangan bulat titik kode Unicode. intToUtf8 mengonversi vektor numerik titik kode Unicode (default) menjadi string karakter tunggal atau vektor karakter dari karakter tunggal. Nilai numerik non-integral dipotong menjadi bilangan bulat. Untuk keluaran ke string karakter tunggal, 0 dihilangkan secara diam-diam: jika tidak, 0 dipetakan ke "". Pengkodean nilai pengembalian non-NA dideklarasikan sebagai "UTF-8". Input tidak valid dan NA dipetakan

Details

Ini akan berfungsi di lokasi mana pun, termasuk pada platform yang tidak mendukung rangkaian karakter multi-byte. Unicode mendefinisikan nama dan nomor dari semua mesin terbang yang dicakupnya: angka-angka tersebut disebut titik kode: sejak RFC3629, angka tersebut dijalankan dari 0 hingga 0x10FFFF (dengan sekitar 12% ditetapkan oleh standar Unicode versi 10.0). intToUtf8 secara default tidak menangani pasangan pengganti: input dalam rentang pengganti dipetakan ke NA. Hal ini mungkin terjadi jika aliran UTF-16 byte telah dibaca sebagai bilangan bulat 2 byte (dalam urutan byte yang benar), dalam hal iniallow_surrogate_pairs = TRUE akan mencoba menafsirkannya (dengan nilai pengganti yang tidak cocok masih diperlakukan sebagai NA).

Contoh

Example
R
# NOT RUN {
## will only display in some locales and fonts
intToUtf8(0x03B2L) # Greek beta
# }
# NOT RUN {
utf8ToInt("bi\u00dfchen")
utf8ToInt("\xfa\xb4\xbf\xbf\x9f")

## A valid UTF-16 surrogate pair (for U+10437)
x <- c(0xD801, 0xDC37)
intToUtf8(x)
intToUtf8(x, TRUE)
(xx <- intToUtf8(x, , TRUE)) # will only display in some locales and fonts
charToRaw(xx)

# }
# NOT RUN {
## An example of how surrogate pairs might occur
x <- "\U10437"
charToRaw(x)
foo <- tempfile()
writeLines(x, file(foo, encoding = "UTF-16LE"))
## next two are OS-specific, but are mandated by POSIX
system(paste("od -x", foo)) # 2-byte units, correct on little-endian platform
system(paste("od -t x1", foo)) # single bytes as hex
y <- readBin(foo, "integer", 2, 2, FALSE, endian = "little")
sprintf("%X", y)
intToUtf8(y, , TRUE)
# }