/ / Ako kódovať a dekódovať znaky Ascii? - c #, kódovanie, dekódovanie, nepatričné ​​znaky

Ako skopírovať a dekódovať znaky bez Ascii? - c #, kódovanie, dekódovanie, non-ascii znaky

Vyvíjam aplikáciu, v ktorej chcem kódovať španielsky text. Problém je však v tom, že nezakóduje špeciálne znaky, ako napríklad á, é, í, ó, ú, ü, Á, É, Í, Ó, Ú, Ü, Ñ, ñ , Ako to môžem urobiť? enkódovať-dekódovať španielsky text.

odpovede:

4 pre odpoveď č. 1

Pre medzinárodnú podporu pomocou jednoduchých utf-8 kódovanie do encode/decode vaše údaje by mali stačiť.

Utf-8 má krásnu schopnosť čítať ASCII s jedným bajtom, ako obyčajné znaky ASCII, a Unicode s 2 bajtmi. Takže je „schopný“ zmenšiť sa, keď je to potrebné.

Úplne C# vzhľad dokumentácie utf-8

UPRAVIŤ

  Encoding enc = new UTF8Encoding(true, true);
string value = " á, é, í, ó, ú, ü,Á, É, Í, Ó, Ú, Ü,Ñ,ñ ";
byte[] bytes= enc.GetBytes(value); //convert to BYTE array

//save in some file

//after can read  from the file like
string decodedString = enc.GetString(byteArrayReadFromFile);

0 pre odpoveď č. 2

ok, odpovedám na svoju vlastnú otázku, dúfam, že to niekomu pomôže; tlačiť španielsky alebo iný znak bez ascii v danom reťazci nahradiť všetky znaky bez ascii ich znakovou sadou unikódového kódu Unicode E.g repalce á o u00e1 A potom reťazec jednoducho vytlačte.

tj

string str="árgrgrgrááhhttá";
str=str.Replace("á", "u00e1");