ID EN
Miscellaneous

validUTF8

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Periksa apakah setiap elemen vektor karakter valid dalam pengkodean tersiratnya.

Syntax

R
validUTF8(x)
validEnc(x)

Arguments

Parameter Deskripsi
x a character vector.

Return Value

Vektor logis yang panjangnya sama dengan x. Elemen NA dianggap dikodekan secara valid.

Details

Ini menggunakan pemeriksaan serupa dengan yang digunakan oleh fungsi seperti grep. validUTF8 mengabaikan pengkodean yang ditandai (lihat Pengkodean) dan langsung melihat apakah byte di setiap string adalah UTF-8 yang valid. validEnc menganggap string karakter dikodekan secara valid kecuali pengkodeannya ditandai sebagai UTF-8 atau tidak ditandai dan sesi R berada dalam UTF-8 atau lokal multi-byte lainnya. (Pemeriksaan di lokal multi-byte lainnya bergantung pada OS dan seperti halnya iconv, tidak semua input yang tidak valid dapat terdeteksi.)

Contoh

Example
R
# NOT RUN {
x <-
  ## from example(text)
c("Jetz", "no", "chli", "z\xc3\xbcrit\xc3\xbc\xc3\xbctsch:",
  "(noch", "ein", "bi\xc3\x9fchen", "Z\xc3\xbc", "deutsch)",
   ## from a CRAN check log
   "\xfa\xb4\xbf\xbf\x9f")
validUTF8(x)
validEnc(x) # depends on the locale
Encoding(x) <-"UTF-8"
validEnc(x) # typically the last, x[10], is invalid

## Maybe advantageous to declare it "unknown":
G <- x ; Encoding(G[!validEnc(G)]) <- "unknown"
try( substr(x, 1,1) ) # gives 'invalid multibyte string' error
try( substr(G, 1,1) ) # works
nchar(G) # fine, too
## but it is not "more valid" typically:
all.equal(validEnc(x),
          validEnc(G)) # typically TRUE
# }