utf8 - ghdrako/doc_snipets GitHub Wiki

Ą koduje sie na U+0104 - czyli mumer w tablicy zapisany hexa

Jak zakodowac te Cdoe points. Sa dwa sposoby UTF i UCF

UTF-8 - rozbija wartosci na gajkty. Kazdy znak w UTF8 moze miec od 1-4 bajtow

https://pl.wikipedia.org/wiki/UTF-8 - sposob kodowania - pierwszy bit czy bedzie jeden bajt czy wiecej

UTF8 with BOM byte order mask - dajmy na poczakku fraze aby bylo wiadomo w jakim kodowaniu jest plik

EF BB BF - wskazuje na UTF8 Problem z BOM jest taki ze malo co je wspiera. W edytorach ktore to nie ogarniaja wyswietla sie jako znak zapytania w rabie

UTF-16 - koduje maparmi bajtow czyli 16 bitow - kazdy znak moze byc kodowany jedna taka para albo dwoma parami (1 lub 2 16bit word) np U+0104

  • UTF-16LE: 04 01
  • UTF-16BE: 01 04

chcp - change code page - w windows

chcp - wyswietla biezaca

chcp 65001 - zmiana na UTF8

https://docs.microsoft.com/en-gb/windows/win32/intl/code-page-identifiers

UTF-32 - zadko uzywane do kodowania plikow - czesciej do przchowywania wewnetrznie w programach - przchowywanie w 32bit int przechowuje code point - czli kazdy znak ma 4 bajty

UCS-2 - uzywane bylo w windowsie - w wiekszosci porzypadkow nie rozni sie od UTF16LE ale jest ograniczony do 1 16bit word - uproszona wersja gdy myslano ze wystarczy 65tys znakow. W Xp jeszcze byl UCS-2 a od Vista UTF16LE

iconv - biblioteka i progam do konwersji pod linux

MultiByteToWideChar - funkcja do konwesji pod windowsem

WideCharToMultiByte - w druga strone

To widechar to jest wewnetrzna reporezenitacjai windows czyli UTF-16 bo tak wewnetrzenie windows przechowuje znaki

wchar_t window (2 bajty UTF-16) wchar_t linux (4 bajty UTF-32)