推荐回答
Stringstr=newString"暗示大家".getBytes,"UTF-8";重新用utf-8编码或者用URLDecoder.decode"xxxxxx","UTF-8";重新用utf-8解码。
龚尚福2019-12-21 23:56:20
提示您:回答为网友贡献,仅供参考。
其他回答
-
ASCII码学过计算机的人都知道ASCII码,总共有128个,用一个字节的低7位表示,0~31是控制字符如换行回车删除等;32~126是打印字符,可以通过键盘输入并且能够显示出来。ISO-8859-1128个字符显然是不够用的,于是ISO组织在ASCII码基础上又制定了一些列标准用来扩展ASCII编码,它们是ISO-8859-1~ISO-8859-15,其中ISO-8859-1涵盖了大多数西欧语言字符,所有应用的最广泛。ISO-8859-1仍然是单字节编码,它总共能表示256个字符。GB2312它的全称是《信息交换用汉字编码字符集基本集》,它是双字节编码,总的编码范围是A1-F7,其中从A1-A9是符号区,总共包含682个符号,从B0-F7是汉字区,包含6763个汉字。GBK全称叫《汉字内码扩展规范》,是国家技术监督局为windows95所制定的新的汉字内码规范,它的出现是为了扩展GB2312,加入更多的汉字,它的编码范围是8140~FEFE。可见,所有ASCII编码已经是UTF-8了。如果一个字节,以11开头,连续的1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节UTF-8字符的首字节。如果一个字节,以10开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节Java中需要编码的场景前面描述了常见的几种编码格式,下面将介绍Java中如何处理对编码的支持,什么场合中需要编码。I/O操作中存在的编码我们知道涉及到编码的地方一般都在字符到字节或者字节到字符的转换上,而需要这种转换的场景主要是在I/O的时候,这个I/O包括磁盘I/O和网络I/O,关于网络I/O部分在后面将主要以Web应用为例介绍。
龙小纯2019-12-21 21:20:41
-
String zifuchu = gb2312ToWordstring;byte,Stringcharset,作用是把byte数组按照charset编码重新组装成字符串,所以你直接输出,显示的还是字符串青白。
黄益民2019-12-21 21:07:15
-
java不同编码之间进行转换,都需要使用unicode作为中转。Stringstr="任意字符串";str=newStringstr.getBytes"gbk","utf-8";备注说明:str.getBytes"UTF-8";意思是以UTF-8的编码取得字节newStringXXX,"UTF-8";意思是以UTF-8的编码生成字符串举例:publicstaticStringgetUTF8XMLStringStringxml{//AStringBufferObjectStringBuffersb=newStringBuffer;sb.appendxml;StringxmString="";StringxmlUTF8="";try{xmString=newStringsb.toString.getBytes"UTF-8";xmlUTF8=URLEncoder.encodexmString,"UTF-8";System.out.println"utf-8编码:"+xmlUTF8;}catchUnsupportedEncodingExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}//returntoStringFormedreturnxmlUTF8;扩展资料:UTF-8编码规则:如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。UTF-8。
赖黎丽2019-12-21 21:02:23
-
byteb=string.getBytes"GB2312";//使用GB2312编码方式对字符串string进行编码//这时要想将字节数组b的内容正确解码只能使用GB2312的编码方式进行解码,即Stringstr=newStringb,"GB2312";//这里若使用UTF-8编码方式来进行解码就会乱码//将eclipse默认的编码方式改为UTF-8,只是用该编码方式对.java源文件进行编码保存//这个对newStringstring.getBytes"GB2312","UTF-8"没啥影响的//因为从java源文件获取字符串string时,已经通过UTF-8编码方式进行解码了//而string.getBytes"GB2312"是使用指定的编码方式对字符串string进行从新编码//这两者之间没啥关系的。
齐晓兵2019-12-21 20:57:44