Delphi și codificare unicode, o parte din ceea ce codifică unicode, de ce este nevoie și cum

Reproducerea și distribuirea acestui articol este posibilă dacă setarea legătura directă la portal

pauze de internet barierele geografice, permițând distribuirea de software la nivel mondial. Ca urmare, cererile nu mai pot fi utilizate în mediu pe baza de doar un singur codificări ANSI. În lumea standard de codificare Unicode a fost văzută ca un mijloc de transfer de text și date. Din moment ce este susținută de aproape orice sistem de scriere din lume, textul din Unicode este acum norma în comunitatea științifică și tehnică la nivel mondial.

Ce este o codificare Unicode

Codificarea Unicode este o schemă de codificare de caractere care poate codifica aproape toate alfabetele ca un singur set de caractere. codificarea Unicode permite computerelor să reprezinte text pentru cele mai multe sisteme de scriere din lume și să se ocupe cu ea. Dezvoltarea de suport Unicode Unicode Consortium organizare și codificate ca standard. Pur și simplu pune, codificarea Unicode este un sistem care permite tuturor să folosească orice alte alfabete. Imaginați-vă, există chiar versiunea Unicode a limbii Klingon.

Beneficiile Unicode

Trecerea la Unicode în Delphi este destul de natural. Sistem de operare Windows în sine sprijini pe deplin Unicode, astfel încât chiar și naturale pe care aplicațiile construite pentru ea, Unicode șir este folosit ca tipul implicit al liniei. Iar beneficiile nu se limitează doar la Delphi dezvoltatorilor posibilitatea de a utiliza același tip de șir, ca în Windows.

Adăugarea de suport Unicode oferă oportunități mari pentru dezvoltatori din Delphi. Dezvoltatorii Delphi poate citi acum, scrie, primi, de a crea, afișa și prelucra datele în Unicode - toate aceste caracteristici sunt construite chiar în produs. Aplicații, doar mici sau, în unele cazuri, schimbarea la zero, vă puteți pregăti pentru a sprijini orice date de dezvoltator, clienții și utilizatorii. Posibilități de aplicare care au fost anterior limitate la datele codificate în ANSI, pot fi acum adaptate cu ușurință să se ocupe de aproape orice set de caractere din lume.

Dezvoltatorii Delphi poate servi acum pe piața mondială prin dezvoltarea propriilor aplicații, chiar dacă ei nu vor face nimic special pentru a localiza sau internaționaliza aplicațiile lor. Sistem de operare Windows în sine suportă mai multe versiuni localizate diferite, și aplicații Delphi trebuie să fie capabil să se adapteze și să lucreze pe computere care se execută un număr mare de opțiuni de limbă acceptate de Windows, inclusiv japoneză, chineză, greacă sau versiunea rusă a Windows. Utilizatorii de software pot introduce text în aplicația sau de a folosi numele de cale nu sunt codificate în ANSI. Aplicațiile bazate pe codificarea ANSI în astfel de cazuri nu este întotdeauna ar funcționa după cum este necesar. Bazate pe Windows aplicații cu Delphi suport complet pentru Unicode și va fi capabil să lucreze în astfel de situații. Chiar dacă aplicația nu este tradus în alte limbi vorbite, aplicarea, cu toate acestea, își păstrează funcționarea normală - indiferent de versiunea de limbă a sistemului utilizatorului final.

Pentru aplicații Delphi existente bazate pe codarea ANSI, capacitatea de a localiza aplicații și le extinde la piața aplicațiilor Unicode-a permis, în viitor, este foarte mare. Și dacă doriți să localizeze aplicația, mediul Delphi vă permite să face foarte ușor, mai ales în mod direct în timpul dezvoltării. Integrat Traducere Mediu (RTN) vă permite să traducă, compila, și implementați aplicația direct în IDE, o dezvoltare integrată. În cazul în care serviciile de traducere necesare extern, mediul IDE permite proiect de export într-o formă care poate fi utilizat de către traducători cu aplicația dislocabile Manager de traduceri externe (manager de transferuri externe). Acest instrument funcționează împreună cu mediul IDE Delphi și Delphi pentru mediu și pentru mediu C ++ Builder, permițându-vă pentru a localiza aplicația la un control consecvent și simplu proces.

Un pic de terminologie

Un alt termen care se referă la Unicode - marca de comandă octet (BOM), și este un prefix foarte scurt, utilizat la începutul unui fișier text pentru a specifica tipul de codificare utilizat pentru fișierul text. O nouă clasă TEncoding (vor fi discutate în partea II) cuprinde o metodă de clasă GetPreamble, care returnează un semn de comandă octet pentru o anumită codificare.

Un nou tip de UnicodeString

Tipul string implicit în Delphi - un nou tip UnicodeString. În mod implicit, tipul UnicodeString este similar cu codificarea UTF-16, aceeași care este utilizată în Windows. Aceasta diferă de versiunea anterioară, în care tipul implicit era un tip AnsiString. Anterior, Biblioteca Delphi RTL pentru manipularea Unicode tip de date a WideString, dar acest tip, în contrast cu tipul AnsiString nu este luată în calcul numărul de link-uri, și deci nu a fost pentru dezvoltatori în Delphi de tip șir în mod implicit.

Aceasta este, următorul cod este dat compilator:

UnicodeString misiune de tip compatibil cu toate celelalte tipuri de linii, dar atribuirea între AnsiStrings UnicodeStrings și va determina conversia de tip corespunzător. Astfel, tipul de atribuire de tip UnicodeString AnsiString poate duce la pierderea de date. Aceasta este, în cazul în care UnicodeString șir conține date la octetul superior, conversia unui șir de caractere într-un șir de plumb AnsiString la pierderea mai vechi octeți de date.

Este important de remarcat faptul că noul tip de UnicodeString are aceleași caracteristici ca și celelalte tipuri de linii (cu excepția, desigur, este posibil să conțină date Unicode). Le puteți adăuga în continuare la orice șir de date pentru a le indice, pentru a le combina cu un „+“, și așa mai departe.

De exemplu, instanțele șir de caractere UnicodeString încă mai pot index. Luați în considerare următorul cod:

MyString: = „Acesta este un sir“;

RTL oferă funcții ajutătoare, care permit utilizatorilor să facă conversii explicite între codepages și dimensiunea elementului. În cazul în care utilizatorul folosește funcția Mutare pentru o serie de personaje, el nu este în măsură să ia în considerare dimensiunea elementelor.

concluzie

Partea a II va aborda modificări și actualizări biblioteci Delphi Biblioteca runtime care simplifică lucrul cu siruri de caractere în Unicode.