procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := WideChar(23478);
ShowMessage(IntToStr(Ord(WideString(Caption)[1])));
end;
begin
Caption := WideChar(23478);
ShowMessage(IntToStr(Ord(WideString(Caption)[1])));
end;
解决方案 »
- 将DBGrid里面的数据导出到EXCLE
- MediaPlayer1
- 没有窗体的情况下,怎么用TWordApplication控件?
- 诚聘开发人员
- 如何确认收到的信使服务(高难度,请指点,详情见内容)
- 别人做的Delphi软件,是连接SQL Server2000,但我现在要把它改为连接Sybase的,不知道这样改了行不行,帮忙看看?
- windows taskbar 如何加宽开始菜单
- java 专长是网络编程,c++,是专长软件开发,Delphi是专长数据库开发。有道理嘛?
- 高手请进:为何用getprivateprofilestring从ini文件中读不出信息???详细代码请进
- DELPHI xe7 FastReport5 问题
- 函数类型的问题
- 关于MDI问题?
WideChar(23478)---->23478
------是四位以下时,只显示63,
如果你观察过unicode的文本文件你就知道了,
有的是ff fe开头,有的是fe ff开头,有这个原因主要是由于unicode是16位的,是2个字节,这两个字节就有个排列的问题。
主要区别在cpu对地址的读写操作,intel x86 cpu和motorola的cpu正好相反,intel的是低字节在前,高字节在后, 比如0xaabbccdd这个32位的16进制数在x86系统里面内存中是按照ddccbbaa排列的,motorola(powerpc也是)中是aabbccdd排列的。你使用notepad保存文本为unicode的时候可以选择unicode和unicode big endian两种,他们的区别就是搞低字节的顺序。如果你程序中得到的unicode需要SwapWord就说明不是big endian各式的unicode编码了而是small endian的。