编码问题。 ( 积分: 200 )

  • 主题发起人 主题发起人 yaliguo
  • 开始时间 开始时间
Y

yaliguo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用以下两个函数时发现一些问题,当utf-8编码的字符转换成Unicode后,再转换成utf-8时,若中文字符数为偶数则没有问题,若为奇数则最后一个字会出现乱码,哪位大侠帮忙看看,多谢!
public final static String Unicode2UTF8(String value) {
try {
return new String(value.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
return ex.getMessage();
}
}

public final static String UTF82Unicode(String value) {
try {
return new String(value.getBytes("UTF-8"));
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
return ex.getMessage();
}
}
 
我在使用以下两个函数时发现一些问题,当utf-8编码的字符转换成Unicode后,再转换成utf-8时,若中文字符数为偶数则没有问题,若为奇数则最后一个字会出现乱码,哪位大侠帮忙看看,多谢!
public final static String Unicode2UTF8(String value) {
try {
return new String(value.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
return ex.getMessage();
}
}

public final static String UTF82Unicode(String value) {
try {
return new String(value.getBytes("UTF-8"));
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
return ex.getMessage();
}
}
 
http://www.tommstudio.com/
http://www.tommstudio.com/ViewArticles.aspx?ID=508
我自己写的一篇文章
 
谢谢,可你的函数是delphi的啊,我想知道java的解决方法[:)]
 
String.getBytes("UTF-8")的返回类型是byte[],你这样写能实现吗,我在我的机子上就试不出来,你可以定义一个中间变量 byte[] a来实现
 
后退
顶部