UTF-8格式的字符,获取ASCII,如:"中国".charAt(0),获取出来的是值跟GB2312工作环境下的不一样!
请问如何在utf-8环境下,获取获取Gb2312格式的字符的ASCII呢?Java编码utf8

解决方案 »

  1.   

    任何环境下通过 "XY".charAt(0) 得到的 char 数值都是一样的,绝对不可能不一样。因为这样得到的值是“X”在 Unicode 代码点的数字表示。
      

  2.   

    三种字符编码,所涉及到的字符范围是不一样的。
    UTF-8编码,可以编码世界上所有已记录的字符;
    GB2312编码,只能编码简体中文和英文、数字、几个简单符号;
    ASCII编码,只能编码英文字符和数字、几个简单符号。所以,汉子没有ASCII编码,因为,它编不了汉子,一共最多表示127个字符,根本没有可能把所有汉子编进去的。只有英文和数字,以及极个别的几个简单符号,能够在这三种编码当中自由转码,其实,基本不用转码,因为,ASCII编码被GB2312编码和UTF-8编码所兼容了,码位是相同的。
      

  3.   

    vb中中文asc与vb的charat不一样的。
    现在解决了,用ascw搞掂了。
      

  4.   

    utf8编码格式的获取:可以根据unicode到utf8的转换规则来计算;(即实现了utf16To8, utf8To16);可以使用ultraedit的编码转换功能:
    首先注意:
    使用记事本编辑并选择保存save as为utf8,但到ultraedit中打开,其实都是unicode格式,而不是真正的utf8;
    需要转换为utf8可以
    选择“文件”-“转换”:常用的从上往下(对于汉字来讲这里的ascii就是gb2312)ascii转unicode
    utf8转unicodeunicode转ascii
    utf8转asciiascii转utf8                                   (其实是ascii转unicode)
    unicode/utf8转utf8                     (其实unicode并没有变)
    unicode/ascii/utf8转utf8             (实现真正的unicode或ascii转为utf8)