如何去改变String的编码格式

来源:互联网 发布:网络安全员考试2017 编辑:程序博客网 时间:2024/05/04 13:31


昨天面试的时候遇到了一个怎么改变String的编码格式,然后第一个想到的是setCharacterEncoding,然后跪了,然后今天研究了下,String 有个这样的的构造方法String (btye [],String)然后从网上找到了这样一篇连接http://blog.csdn.net/qmw19910301/article/details/49358947 ,然后发现,居然最后的人字没有从gbk转换成utf-8格式的,研究了下, 发现可能跟utf-8一个汉字3个字符,gbk一个汉字2个字节有关,英文和数字都占一个字符,发现如果你的汉字数量是偶数的话,英文和数字的数量随意不响应,就不会出现乱码的问题,这个不知道如何去解决,看到网上有一种似乎是改源码的方式, 

不过尽管这样,如果面试中你遇到了让你把字符串的编码格式从gbk转换成utf-8中,你写了

String s1= "你好啊的";  String gbk = new String(s1.getBytes("UTF-8"), "gbk");  System.out.println(gbk);//浣犲ソ鍟婄殑 String utf8 = new String(gbk.getBytes("gbk"), "utf-8"); System.out.println(utf8);//你好啊的

就能得满分。不过变量gbk后面的getBtyes()括号里面可以不用写内容,他这样会以你电脑上默认的编码格式去编辑。

萌新的简介,不一定完全正确,还有问题希望大神也来补充。

原创粉丝点击