Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem .NET ako pretypovať string na byte array?

Ahoj

1.

var result = System.Text.Encoding.Unicode.GetBytes(text)

robí to isté čo môj príklad vytvorí byte array do ktorého SKOPÍRUJE znaky. Ja sa chcem vyhnúť práve tomu kopírovaniu. Vôbec to teda nerieši moju otázku

2. Ale keď ti môžem poradiť: používaniu ASCII kódovania sa radšej vyhni dnes je už dávno prekonané. A System.Text.Encoding.ASCII.GetBytes by ti sprznilo diakritiku. ASCII nepodporuje regionálne znakové sady a má zmysel len keď robíš anglickojazyčnú aplikáciu a šetríš každý byte. .NET interne ukladá všetky stringy ako UTF-16 na jeden znak je potrebné jedno 16 bit slovo (2 bajty / uint16 / word) lebo je to najrtýchlejšia varianta Unicode a ľahko sa s ňou pracuje na druhej strane je zas pamaťovo náročná a nehodí sa na nierktoré znakové sady . Ale ak chceš šetriť miestom tak použi UTF-8 to je kompromis medzi veľkosťou a šetrením miesta, ale omnoho tažšie sa s tým pracuje, už len také základné veci ako vypočítanie dĺžky reťazca sú pri UTF-8 náročnejšie lebo niektoré znaky zaberajú 8 bitov niektoré viac

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny