当前位置:编程学习 > JAVA >>

Utf-8格式的字符串如何获取GB2312字符串的ASCII码呢?

UTF-8格式的字符,获取ASCII,如:"中国".charAt(0),获取出来的是值跟GB2312工作环境下的不一样!
请问如何在utf-8环境下,获取获取Gb2312格式的字符的ASCII呢? Java 编码 utf8 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 liuh2013 的回复:
大哥,知道怎么搞不? --------------------编程问答--------------------
引用 2 楼 tombow 的回复:
引用 1 楼 liuh2013 的回复:
大哥,知道怎么搞不?

不知道,我也想知道,你懂得?! --------------------编程问答-------------------- 任何环境下通过 "XY".charAt(0) 得到的 char 数值都是一样的,绝对不可能不一样。因为这样得到的值是“X”在 Unicode 代码点的数字表示。 --------------------编程问答-------------------- 三种字符编码,所涉及到的字符范围是不一样的。
UTF-8编码,可以编码世界上所有已记录的字符;
GB2312编码,只能编码简体中文和英文、数字、几个简单符号;
ASCII编码,只能编码英文字符和数字、几个简单符号。

所以,汉子没有ASCII编码,因为,它编不了汉子,一共最多表示127个字符,根本没有可能把所有汉子编进去的。

只有英文和数字,以及极个别的几个简单符号,能够在这三种编码当中自由转码,其实,基本不用转码,因为,ASCII编码被GB2312编码和UTF-8编码所兼容了,码位是相同的。 --------------------编程问答--------------------
引用 4 楼 bao110908 的回复:
任何环境下通过 "XY".charAt(0) 得到的 char 数值都是一样的,绝对不可能不一样。因为这样得到的值是“X”在 Unicode 代码点的数字表示。

vb中中文asc与vb的charat不一样的。
现在解决了,用ascw搞掂了。 --------------------编程问答-------------------- utf8编码格式的获取:

可以根据unicode到utf8的转换规则来计算;(即实现了utf16To8, utf8To16);

可以使用ultraedit的编码转换功能:
首先注意:
使用记事本编辑并选择保存save as为utf8,但到ultraedit中打开,其实都是unicode格式,而不是真正的utf8;
需要转换为utf8可以
选择“文件”-“转换”:常用的从上往下(对于汉字来讲这里的ascii就是gb2312)

ascii转unicode
utf8转unicode

unicode转ascii
utf8转ascii

ascii转utf8                                   (其实是ascii转unicode)
unicode/utf8转utf8                     (其实unicode并没有变)
unicode/ascii/utf8转utf8             (实现真正的unicode或ascii转为utf8)
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,