Temel Bilgiler
CODESYS adresindeki uygulamalar, örneğin çeşitli dillerde bir hata mesajı çıktısı almak için çok çeşitli karakterleri işleyebilir. Ya da görselleştirmeleri kullanıcı tarafından seçilen ve kullanıcı girdisini çok çeşitli dillerde, karakterlerde veya sembollerde kabul eden bir dilde görüntülemek için. Kapsamlı bir karakter seti gerekli değilse veya bir projenin değiştirilmemesi gerekiyorsa, Latin-1 biçiminde kodlanmış dizeler yine de kullanılabilir.
|
Karakter seti |
Kod sayfa numarası |
Açıklama |
Karakter kodlaması |
|---|---|---|---|
|
ASCII |
20127 |
|
7 bit kodlanmış karakter |
|
DOS-Latin-1 |
819, 850 |
|
8 bit kodlanmış karakter |
|
Latin-1 |
28591 |
|
8 bit kodlanmış karakter |
|
Windows 1252 Kodlaması |
1252 |
|
8 bit kodlanmış karakter |
|
Unicode |
|
|
|
|
Unicode 14.0 |
|
144,697 karakter |
|
|
UTF-16 |
1200 |
|
16 bit kodlanmış karakterler Karakterler ya 2 bayt ya da 4 bayt olarak kodlanır. |
|
UTF-8 |
65001 |
|
Karakter başına 8 bitlik kelime demeti Karakterler 1 ila 4 bayt arasında farklı uzunluklarda kodlanır. |
UTF-8 içinde CODESYS
UTF-8 kodlaması en kapsamlı karakter setine sahip kodlamadır. Bu nedenle, yeni projelerin yanı sıra yeni bir bağlamda kullanılacak mevcut projeler için UTF-8 kodlamasını etkinleştirmeniz önerilir.
|
Veri türü |
Derleme seçeneği: STRING için UTF8 Kodlaması |
Proje genelinde hangi kodlama kullanılıyor? |
|---|---|---|
|
STRING |
Etkin |
UTF-8 |
|
Engelli |
Windows 1252 kodlaması (varsayılan Windows kodlaması) Latin-1 |
|
|
WSTRING |
Etkin |
UTF-16 |
|
Engelli |
UTF-16 |
CODESYS adresinde, «STRING» veri türü Latin-1 veya UTF-8 biçimlerinde kodlanabilir. «WSTRING» veri türü, karakterlerini her zaman UTF-16'da Unicode olarak kodlar.
Tek bir dize değişmezini UTF-8 biçiminde kodlama
Proje genelinde kodlama biçimi Latin-1 olarak ayarlanmış olsa bile, tek bir değişmezi UTF-8 biçiminde kodlayabilirsiniz. Bunu yapmak için, değişmeze «UTF8#» tür önekini ekleyin.
{attribute 'monitoring_encoding' := 'UTF-8'}
strVarUtf8: STRING := UTF8#'你好,世界!ÜüÄäÖö';
Daha fazla bilgi için bkz:
Sabit: UTF8# Dize; ⮫ «Sabit: UTF8# Dize »
Pragma Özniteliği: ⮫ monitoring_encoding
UTF-8 kodlaması için dize dönüştürme
UTF-8 kodlamasını proje genelinde etkinleştirdiyseniz, dize dönüştürme işlevlerini her zamanki gibi kullanabilirsiniz.
Dize manipülasyonu
Dizelerinizi işlemek için kütüphane işlevlerini kullanın.
«STRING» değişkenlerinin manipüle edilmesi gerekiyorsa, ASCII formatındaki bir değişkene dizin erişimi genellikle istenen sonuca götürür. Bu yapıyı kullanmamak daha iyidir. Bu sadece kötü bir programlama tarzı değildir. Daha da kötüsü, UTF-8 kodlaması ile dizin erişimi istenmeyen dize manipülasyonuna yol açar.
Yalnızca proje genelinde yapılandırma için UTF-8 kodlaması
Proje genelinde STRING için UTF8 kodlaması derleme seçeneği etkinleştirilmişse UTF-8 kodlaması kullanılır. Kütüphane işlevleri ve eklentiler de bu ayara göre yönlendirilir.
Tek UTF-8 kodlu dizeler kullanırsanız, kullanıldıkları her yerde doğru yorumlandıklarından emin olmanız gerekir. Örneğin, ayar seçili değilse OPC sunucusundaki bir dize değişkeni istemciye aktarılmadan önce UTF-8'e dönüştürülecektir. Bu durumda «UTF8#'äöü'» gibi değerler yanlış yorumlanacaktır. Görselleştirmede dizelerin çıktısı alınırken de benzer sorunlar ortaya çıkabilir.