Delphi 下如何取得汉字UNICODE扩展编码?
UNICODE编码可以获取,就是一些扩展C区、D区的汉字,在DELPHI中取出来的都是相同的$E400;不知道扩展码是如何编码的,是否16位编码?用什么语言编写都行,关键...
UNICODE编码可以获取,就是一些扩展C区、D区的汉字,在DELPHI中取出来的都是相同的$E400;不知道扩展码是如何编码的,是否16位编码?
用什么语言编写都行,关键把道理说清楚就行!先谢过。
这么久了,没收到 答案。做个更新! 展开
用什么语言编写都行,关键把道理说清楚就行!先谢过。
这么久了,没收到 答案。做个更新! 展开
2015-02-14
展开全部
Delphi获取汉字的宴帆陪unicode编码
[delphi] view plaincopy
Delphi7
var
n1: Word;
W: WideString;
begin
W := '万轿做';
n1 := Word(WideChar(W[1]));
ShowMessageFmt('%s: %d', [W, n1]);
Delphi2010
[delphi] view plaincopy
var
n1,n2,n3,n4,n5: Word;
begin
n1 := Ord('万');
n2 := Cardinal('万');
n3 := Integer('晌蠢万');
n4 := Word('万');
n5 := LoWord('万');
ShowMessageFmt('%s: %d,%d,%d,%d,%d', [#19975,n1,n2,n3,n4,n5]);
{万: 19975,19975,19975,19975,19975}
end;
[delphi] view plaincopy
Delphi7
var
n1: Word;
W: WideString;
begin
W := '万轿做';
n1 := Word(WideChar(W[1]));
ShowMessageFmt('%s: %d', [W, n1]);
Delphi2010
[delphi] view plaincopy
var
n1,n2,n3,n4,n5: Word;
begin
n1 := Ord('万');
n2 := Cardinal('万');
n3 := Integer('晌蠢万');
n4 := Word('万');
n5 := LoWord('万');
ShowMessageFmt('%s: %d,%d,%d,%d,%d', [#19975,n1,n2,n3,n4,n5]);
{万: 19975,19975,19975,19975,19975}
end;
追问
这个似乎并没有解决我的问题,比如说‘𫗧’、‘𨐈’、‘𫗧’字等等,如果按上面代码取出的数值都是一样的42244.
汉字扩展字符的编码和一般汉字是不同的,在Delphi2010中,扩展汉字算两个字符;
普通汉字算1个字符;
Delphi2.0中,普通汉字算2个字符。扩展汉字无法显示。
所以,我还是再强调一下:我是想了解扩展汉字的编码规则。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询