Unicode格式:
我們都知道,Windows2000的記事本,可以保存數(shù)據(jù)為Unicode的格式,那么在記事本中輸入的文字,如何保存到文件里面呢?
原來,Unicode的文本和數(shù)據(jù),在開始的時候,會有兩個字節(jié)的標記:FF FE,如果一個Txt文件,開頭兩個字節(jié)是FF FE,那么記事本就認為它是Unicode的格式!此后,每一個符號數(shù)據(jù)都是以兩個字節(jié)來保存的!因此,如果你輸入了ab兩個字母,那么文件的長度就是:2 + 4=6Byte!
MultiByteToWideChar
WideCharToMultiByte
把一個數(shù)字如8bd5變成Unicode字符:
Result:=WideChar($8bd5)
function GB2Unicode(GB:string):string;
var
s: string;
i, j, k: integer;
a: array [1..1000] of char;
begin
s:='';
StringToWideChar(GB, @(a[1]), 500);
i:=1;
while ((a[i]<>#0) or (a[i+1]<>#0)) do begin
j:=Integer(a[i]); k:=Integer(a[i+1]);
s:=s+Copy(Format('%X ',[k*$100+j+$10000]) ,2,4);
i:=i+2;
end;
Result:=s;
end;
簡體和繁體轉(zhuǎn)換:
請參看MSDN的API
LCMapString
它可以實現(xiàn)GB和big5和Unicode之間的轉(zhuǎn)換,不需要什么對照表。
|