java 代码里传值时出现乱码,我想把字符串转成Unicode编码,然后在转回来,字符串里有字母汉字和数字

java 代码里传值时出现乱码,我想把字符串转成Unicode编码,然后在转回来,字符串里有字母汉字和数字,第1张

//编码的转换

String name = getParameter("name");

//转化成utf-8

namegetBytes("iso-8859-1","utf-8");

//转化成unicode

namegetBytes("iso-8859-1","unicode");

利用JDK中自带的native2ascii工具就很好

如果是在项目中,可以直接拷贝%JDK%/bin下native2asciiexe至项目根目录,然后类中这样调用即可

中文转UNICODE(srcFileName为中文文件路径)

StringBuffer tempSb = new StringBuffer();

Process p = RuntimegetRuntime()exec(

"native2ascii "+srcFileName);

InputStreamReader child_in = new InputStreamReader(p

getInputStream());

int c;

while ((c = child_inread()) != -1) {

tempSbappend((char) c);

}

Systemoutprintln(tempSb);

UNICODE转中文(srcFileName为UNICODE文件路径)

StringBuffer tempSb = new StringBuffer();

Process p = RuntimegetRuntime()exec(

"native2ascii -reverse "+srcFileName);

InputStreamReader child_in = new InputStreamReader(p

getInputStream());

int c;

while ((c = child_inread()) != -1) {

tempSbappend((char) c);

}

Systemoutprintln(tempSb);

new String(agetBytes("ISO-8859-1"),"GB2312")

以单字节编码方式获取字符串流, 然后转中文格式,或者

new String(agetBytes("ISO-8859-1"),"UTF-8")

GBK是中国的解析字符标准,UTF-8是世界标准

stringgetbytes("ISO646-US")

Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,“汉”这个字的Unicode编码是U+6C49。

Unicode固然统一了编码方式,但是它的效率不高,比如UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每个英文字母前都必然有三个字节是0,这对存储和传输来说都很耗资源。

以上就是关于java 代码里传值时出现乱码,我想把字符串转成Unicode编码,然后在转回来,字符串里有字母汉字和数字全部的内容,包括:java 代码里传值时出现乱码,我想把字符串转成Unicode编码,然后在转回来,字符串里有字母汉字和数字、找一个能将JAVA代码中Unicode编码为字符集转换为汉字的小软件、〈java〉怎么精确判断读取的任意文本的编码格式utf-i8, unicode,ansi等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9479867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存