Hangi karakter kodlamaları posix tarafından desteklenir?


11

POSIX gibi araçlar davranışını tanımlar grep, awk, sedvb metin dosyalarına karşı hangi çalışma. Bir metin dosyası olduğundan, karakter kodlama sorunları olduğunu düşünüyorum.

Soru:

  • POSIX tarafından desteklenen karakter kodlamaları nedir? (veya POSIX compiant sistemleri tarafından hangi kodlamanın metin dosyaları işlenebilir?)

Yanıtlar:


19

POSIX tarafından zorunlu olarak belirlenmiş belirli bir karakter kodlaması yoktur. Sabit konumdaki tek karakter null şeklindedir ve 00 olmalıdır.

POSIX'in gerektirdiği, Taşınabilir Karakter Kümesindeki tüm karakterlerin mevcut olmasıdır. Taşınabilir Karakter Kümesi yazdırılabilir ASCII karakterlerini, alanı, BEL, geri tuşu, sekmeyi, satır başı, satırsonu, dikey sekme, form beslemesi ve null değerlerini içerir. Bunların nerede veya nasıl kodlandığı belirtilmemiştir, ancak aşağıdakiler hariçtir:

  • Hepsi tek bir bayttır (8 bit).
  • Null, tüm bitlerle sıfır olarak temsil edilir.
  • 0-9 arasındaki rakamlar bu sırayla bitişik olarak görünür.

Karakterlerin temsili üzerinde başka bir kısıtlama getirmez, bu nedenle uygun bir sistem, bu karakterlerin ve ek olarak diğer karakterlerin herhangi bir temsiliyle kodlamaları desteklemekte serbesttir.

Aynı sistemde farklı yerel ayarlar hariç olmak üzere, bu karakterlerin farklı temsillerini olabilir .ve /ve

bir uygulama, karakter kodlamalarının farklı olduğu herhangi bir yerel ayar çifti kullanıyorsa veya uygulama tarafından kullanılan yerel ayarlardan farklı kodlamaları olan bir yerel ayar kullanan bir uygulamadan verilere erişiyorsa, sonuçlar belirtilmez.

Tüm POSIX uyumlu sistemlerin aynı şekilde işlemesi gereken dosyalar, tamamen boş baytlardan oluşan dosyalardır. Metin olarak işlem gören dosyaların satırları kodlamanın PCS'nin yeni satır karakterini temsil etmesi ile sonlandırılır .


5

POSIX standardı, ASCII'deki karakterler için ASCII karakter kümesiyle aynı sıraya sahip bir POSIX yerel ayarı sunar (POSIX Temel Tanımları §7.3.2).

Bunun yanı sıra, sembolik sabitin POSIX2_LOCALEDEFtanımlandığı sistemlerde (XSI uyumlu sistemler için tanımlanacak ve üzerinden test edilebilecek getconf POSIX2_LOCALEDEF), sistem localedefPOSIX Base'de belirtildiği gibi yardımcı programı ve yerel tanımları kullanarak yeni yerel ayarların oluşturulmasını destekler. Tanımlar §7.3.

POSIX yerel ayarları, Unicode değerlerine göre karakter belirtmeyi desteklemez, ISO / IEC TR 14652 ( ISO / IEC JTC1 / SC22 / WG20 evinde kullanılabilir ) ve ISO TR 30112 (taslakta kullanılabilir) gibi daha yeni standartlar vardır . ISO / IEC JTC1 / SC35 / WG5 home ) ISO / IEC TR 14652'yi geçersiz kılar.

Diğer ilgili standartlar ISO 14651 ( ISO ITTF sitesinde bulunur ) ve Unicode Harmanlama Algoritmasıdır (UCA, Unicode UTS # 10) .

Unicode :: Tussle CPAN de Perl modülü bazı Unix araçlardan Unicode yeniden yazım içerir. sed ve awk komut dosyaları ve bir satırlar (göreceli olarak kolayca) Perl for Unicode desteği için yeniden yazılabilir.

Glibc için, bileşen yerel ayarları için bugzilla girdileri farklı yerel ayarların durumunu görüntüleyebilir.


3
POSIX yerel ayarının, gerçek kodlama gösterimi yerine ASCII ile eşleşen harmanlama sırası tanımladığını unutmayın .
Michael Homer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.