Seçenek kodlama
kodlama
seçeneği, girdi ve çıktı kodlamalarını tanımlar.
Varsayılan kodlama değeri utf8
dir. true
değeri kullanıldığında da varsayılan 'utf8' kodlaması kullanılır. null
ve false
değerleri, dize serileştirmesini devre dışı bırakır ve dizgelerin yerine tamponlar döndürülür.
- Tür:
string|null
- Opsiyonel
- Varsayılan:
utf8
- Eşya: 4.13.0'dan beri
- İlişkili:
bom
—Mevcut Seçenekler
bölümüne bakın
Varsayılan davranış
Node.js içindeki mevcut desteklenen kodlama listesi kaynak kodunda mevcuttur. Bu yazının yazıldığı dönemde 'utf8', 'ucs2', 'utf16le', 'latin1', 'ascii', 'base64', 'hex' kodlamalarını içermektedir.
Node.js'deki varsayılan kodlama UTF-8'dir. UTF-8 kullanırken, hiçbir şey belirtmenize gerek yoktur.
Alternatif bir kodlama kullanıldığında, giriş verilerinin başında bulunan BOM
(bayt sırası işareti) ile keşfedilebilir veya bu seçenek ile tanımlanabilir.
Alternatif kodlamaları kullanırken dikkatli olun, çünkü giriş verilerinin doğru bir şekilde tanımlandığından emin olmalısınız.
Seçeneklerle çalışma
Seçenekler sağlarken, değerler içsel olarak veri kaynağının kodlamasını yansıtmalıdır. Değer bir dize ise, ayrıştırıcı değerini seçilen girdi kodlama değeri kullanarak bir tampon temsilimine dönüştürecektir.
Ancak, değer bir tampon ise, tamponun doğru kodlama ile oluşturulduğundan emin olmalısınız. İşte bir örnek: bir seçeneği tampon olarak kodlamak, bu durumda delimiter
seçeneği:
embed:packages/csv-parse/samples/option.encoding.options.js
BOM otomatik tespiti
BOM, bir metin akışının başındaki özel bir Unicode karakter dizisidir ve kodlamayı belirtir.
BOM sadece Unicode'a özgü olduğundan, yalnızca UTF-8 ve UTF-16LE kodlamaları ayrıştırıcı tarafından doğal olarak tespit edilir. İşte bir örnek: kodlamayı tespit etmek, bu durumda UTF-16LE:
embed:packages/csv-parse/samples/option.encoding.detection.js
BOM'un \uFEFF
olarak tanımlandığını fark edin. node -e 'console.info(Buffer.from("\ufeff", "utf16le"))'
komutuyla FF EE
hexadecimal gösterimine nasıl dönüştürüldüğünü görebilirsiniz. Daha fazla araştırma için Vikipedi bayt sırası işareti kodlama tablosuna başvurabilirsiniz.
Tampon çıktısı
null
veya false
değeri, çıktı kodlamasını devre dışı bırakır ve ham tamponu döndürür.
embed:packages/csv-parse/samples/option.encoding.buffer.js