使用java写一个utf8 到 gb2312的编码转换函数

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:42:01
就是题目要求,一个utf8 到 gb2312的编码转换函数
要自己写怎么写?
你说下自己实现的思路
可以的话我给你加分

Java 则采用了平台无关的 UNICODE,Java 从一个 byte 流中读取一个字符串时,将把平台 相关的 byte 转变为平台无关的 Unicode 字符串。在输出时 Java 将把 Unicode 字符串转变为平台相关的 byte 流,如果某个 Unicode 字 符在某个平台上不存在,将会输出一个 '?' 。
GB2312 编码中一个汉字是 16 位的,而 UTF8 中一个汉字却是 24 位的。如果实现 UTF-8 与 gb2312 编码的相互转换呢?今天整理了一番,给出两者进行转换的代码。
// 将 UTF-8 编码的字符串转换为 GB2312 编码格式:
public static String utf8Togb2312(String str){
StringBuffer sb = new StringBuffer();
for ( int i=0; i<str.length(); i++) {
char c = str.charAt(i);
switch (c) {
case '+' :
sb.append( ' ' );
break ;
case '%' :
try {
sb.append(( char )Integer.parseInt (
str.substring(i+1,i+3),16));
}
catch (NumberFormatException e) {
throw new IllegalArgumentException();