Jak odbywa się kodowanie znaków w Sakurze?

1

W edytorze Sakura możesz mieć .txtplik z kodowaniem UTF-8, który zawiera 2 znaki, które nie są dostępne w zestawie znaków EUC.

Kiedy zapisałem .txtz UTF-8 do EUC w edytorze, wszystko działa dobrze i wszystkie znaki są wyświetlane poprawnie.

Czy ktoś wie, jakiej logiki używa redaktor, aby to osiągnąć?

jonsca
źródło
Nie w pełni śledzę twoje pytanie. Jakie są twoje 2 postacie, które „nie są dostępne w EUC”? Źródło tej aplikacji jest dostępne tutaj: sakura-editor.svn.sourceforge.net/viewvc/sakura-editor/sakura/… . Jestem pewien, że charcode.cpp / .h mają to, czego szukasz. Prawdopodobnie możesz także uzyskać pożądaną funkcjonalność z libiconv .

Odpowiedzi:

0

który zawiera 2 znaki, które nie są dostępne w zestawie znaków EUC

Jeśli widzisz dwa znaki ÿþ(szesnastkowe FF FE) lub þÿ(szesnastkowe FE FF) na początku pierwszego wiersza , plik jest kodowany w UTF-16, a nie w UTF-8. Znaki te są wówczas w rzeczywistości „ znakiem kolejności bajtów ” (BOM), który redaktor powinien interpretować, a nie pokazywać.

(Na wypadek, gdybyś zobaczył trzy znaki , będące szesnastkowe EF BB BF, na początku pierwszego wiersza, to jest BOM dla UTF-8. Jeśli widzisz inne znaki, lub nie na początku pierwszego wiersza, czy możesz edytować pytanie, aby dodać przykład?)

Arjan
źródło