J
jiichen
Unregistered / Unconfirmed
GUEST, unregistred user!
请问 UniCode 的表现方式?
目前使用的系统为繁体 Windows 2000 ,其支援 UniCode ,
像记事本或 WordPad 可在上面同时存在繁体字及简体字,
而我所使用的字型为细明体。
问题一为:为何它可同时表现出两种不同的字型,而 Delphi
中的 RichEdit 却只支援繁体字型,遇到简体字型便出现 '?'
来表示!
我只知道 UniCode 是一套可支援多国语系的特殊
编码,根据编码可容纳 65535 的字,虽然我可读取 UniCode
的档案,读入时在将其转码成繁体字,但遇见内含简体字的话,
便是乱码一堆。
转码方法为利用 WideCharLenToString 来转码,这里又延伸出一个
问题,想请教使用简体中文 Windows 2000 的高手.
问题二:
var
a:string;
w:WideString;
a:='啊';
// 使用繁体中文的朋友,a 的值应为 $b0da
// 使用简体中文的朋友,a 的值应为 $b0a1,这就是我的第二个问题!
w:=WideString(a);
// 此时 w 的值应为 $554a
// 如果不方便使用 Delphi 内建看到值得话,
// 请使用下列的语法
a:='啊';
S:=(a+' : BIG5 code : '+IntToHex(Byte(a[1]),2)+IntToHex(Byte(a[2]),2));
b:=WideString(a);
S:=S+#13#10+(b+' : Unicode : '+ IntToHex(Word(b[1]),2));
ShowMessage(s);
// 这里可看见
如果简体中文的朋友们,您们的答案是 a=$b0a1 的话,
而且又使用 Delphi 5 英文版的话,那问题就是
为何相同的设计工具下,又有着相同的语法,却会
产生不同 a 的值,是 MS 的问题,或是 Delphi 藏一手?
这问题如果解决的话,对于 UniCode <--> GBK、或是 UniCode <--> Big5 应
会有所助益。
目前使用的系统为繁体 Windows 2000 ,其支援 UniCode ,
像记事本或 WordPad 可在上面同时存在繁体字及简体字,
而我所使用的字型为细明体。
问题一为:为何它可同时表现出两种不同的字型,而 Delphi
中的 RichEdit 却只支援繁体字型,遇到简体字型便出现 '?'
来表示!
我只知道 UniCode 是一套可支援多国语系的特殊
编码,根据编码可容纳 65535 的字,虽然我可读取 UniCode
的档案,读入时在将其转码成繁体字,但遇见内含简体字的话,
便是乱码一堆。
转码方法为利用 WideCharLenToString 来转码,这里又延伸出一个
问题,想请教使用简体中文 Windows 2000 的高手.
问题二:
var
a:string;
w:WideString;
a:='啊';
// 使用繁体中文的朋友,a 的值应为 $b0da
// 使用简体中文的朋友,a 的值应为 $b0a1,这就是我的第二个问题!
w:=WideString(a);
// 此时 w 的值应为 $554a
// 如果不方便使用 Delphi 内建看到值得话,
// 请使用下列的语法
a:='啊';
S:=(a+' : BIG5 code : '+IntToHex(Byte(a[1]),2)+IntToHex(Byte(a[2]),2));
b:=WideString(a);
S:=S+#13#10+(b+' : Unicode : '+ IntToHex(Word(b[1]),2));
ShowMessage(s);
// 这里可看见
如果简体中文的朋友们,您们的答案是 a=$b0a1 的话,
而且又使用 Delphi 5 英文版的话,那问题就是
为何相同的设计工具下,又有着相同的语法,却会
产生不同 a 的值,是 MS 的问题,或是 Delphi 藏一手?
这问题如果解决的话,对于 UniCode <--> GBK、或是 UniCode <--> Big5 应
会有所助益。