在Delphi的窗体文件中,字符集采用ANSI编码,
如,“电”字表示为“#30005”。(希望没记错)
请问如何将某个汉字转换为类似数值,它们之间的转换关系是如何的?
谢谢!

解决方案 »

  1.   

    vcl不都有源代码么?自己看啊
    ObjectBinaryToText
    ObjectTextToBinary
      

  2.   

    用ANSI编码 在网上找找 应该有的 
      

  3.   

    支持budded,object单元,TextTobinary  BinaryToText
      

  4.   

    s:string='电';
    num:integer;
    num:=ord(s[1])<<8+ord(s[2]);
      

  5.   

    s:string='电'; 
    num:integer; 
    num:=ord(s[1]) < <8+ord(s[2]);================================
    s占几个字节?s[0]呢?我是用PHP来试的,网页设为GB2312编码,则是占两个字节。设为Utf-8编码,则为3个字节。
    我不知道设置ANSI编码应该怎么写。
      

  6.   

    1. Delphi的dfm文件默认是按ANSI编码保存的
    2. '电'的Unicode编码(CodePoint)是U+7535(十六进制),换成十进制就是#30005
    3. 由于是UTF-16 Little Endian,所以其内存表示为$35 $75,刚好可以用Integer(s[1])取得其整数值(s为WideString类型)。
    4. 推荐阅读.Net与字符编码(理论篇)