当前位置:首页 » 编程语言 » java中文转码

java中文转码

发布时间: 2022-07-19 07:22:56

java 怎么把汉字转换成utf-8编码

汉字都需要用三字节UTF-8解码格式,也就是1110XXXX10XXXXXX10XXXXXX其中x为汉字Unicode二进制码的前四位,中六位和后六位,分别提取出来,再组进格式里就完成了转码

② 关于JAVA中 中文字符的转码问题

那是中文乱码导致的。一种方法你可以再方法中加入:response.setCharacterEncoding("utf-8")
另一种方法:加入你获取的参数是name,则获取name转换一下:
String name = “%E4%B8%96%E7%95%8C";
String name2 = URLDecoder.decode(name);

③ java如何把string转为utf-8

java不同编码之间进行转换,都需要使用unicode作为中转。

String str = "任意字符串";

str = new String(str.getBytes("gbk"),"utf-8");

备注说明:

str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串

举例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 编码:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

(3)java中文转码扩展阅读:

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填补。

④ java 中文乱码问题 utf-8和gbk的区别

Java中UTF-8转GBK之所以不会出现中文乱码,是因为UTF-8编码为兼容性最大的字符集编码,它本身就支持中文字符。

Java代码转码范例:
String s = new String(ss.getBytes(),"GBK");
当你的内容本来就是正常的中文字符时,通过上面的语句转为GBK编码是不会有任何问题的,但如果你在转码之前的字符不是正确的中文字符,或者不是支持中文字符的字符集,那可能就会出现乱码问题。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

在Java开发中,特别是web开发,乱码是一种很常见而且很头疼的问题,这常常是由于页面端、服务端、数据库等几处所使用的字符不一致所致,故开发中,保持编码一致, 往往能减少由于乱码而带来的时间浪费,是一件非常重要的事情。

⑤ java url中文转码问题

你这是从Servlet中取参然后在界面显示是吧,JSP这个你设置的没:<%@page pageEncoding="utf-8" contentType="utf-8" %>
以及request,response的设置:
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");

⑥ java文件读取内容转码

读取的文件流如果是read(读取字节流的时候,中文就会是乱码)方法,所以现在全都是听过readline方式进行的读取。举例:
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
bre.close(),//关闭流,否则bre流会一直存在,直到程序运行结束。

除此之外,java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String str = new String(str.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。

⑦ java中文乱码,能说下string.getBytes()和new String()转码是,具体点。

1、Java中,【String.getBytes(String decode)】的方法,会根据指定的decode,编码返回某字符串在该编码下的byte数组表示,例如:

byte[] b_gbk = "中".getBytes("GBK");
byte[] b_utf8 = "中".getBytes("UTF-8");
byte[] b_iso88591 = "中".getBytes("ISO8859-1")

上面三行代码表示:分别返回“中”这个汉字在GBK、UTF-8和ISO8859-1编码下的byte数组表示,此时b_gbk的长度为2,b_utf8的长度为3,b_iso88591的长度为1。

2、而通过【new String(byte[], decode)】的方式来还原这个“中”字时,实际是使用decode指定的编码来将byte[ ]解析成字符串,例如:

String s_gbk = new String(b_gbk,"GBK");
String s_utf8 = new String(b_utf8,"UTF-8");
String s_iso88591 = new String(b_iso88591,"ISO8859-1");

s_gbk和s_utf8都是“中”,而只有s_iso88591是一个不认识 的字符,因为ISO8859-1编码的编码表中,根本就没有包含汉字字符,当然也就无法通过"中".getBytes("ISO8859-1")。

因此,通过【String.getBytes(String decode)】方法来得到byte[ ]时,要确定decode的编码表中确实存在String表示的码值,这样得到的byte[ ]数组才能正确被还原。

(7)java中文转码扩展阅读

java中文编码避免乱码

1、为了让中文字符适应某些特殊要求(如http header头要求其内容必须为iso8859-1编码),可能会通过将中文字符按照字节方式来编码的情况,比如:

String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1")

2、上述例子中的s_iso8859-1字符串实际是三个在 ISO8859-1中的字符,在将这些字符传递到目的地后,目的地程序再通过相反的方式:

String s_utf8 = new String(s_iso88591.getBytes("ISO8859-1"),"UTF-8")

来得到正确的中文汉字。这样就既保证了遵守协 议规定、也支持中文。

3、String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示这里是encode ,not decode,从字符串到字节数组是编码的过程,从字节数组到字符串(即 new String(byte[] , charsetname))才是解码的过程。

⑧ java字符串编码的问题,如何转码才能正确显示中文

String str = new String("暗示大家".getBytes(),"UTF-8");
重新用utf-8编码

或者用
URLDecoder.decode("xxxxxx", "UTF-8");重新用utf-8解码

望采纳,谢谢

⑨ Java中中文转码,为什么中文数字转不过来

中文数字“1”其实跟一般的中文字是一样的。所以当文件的编码格式转换之后,还是没法转过来的。
如果你只是想改变文件的编码格式,并且想让文件里面的内容不会出现乱码的话,有个办法。
1、先把文件的内容复制一份出来,到记事本里面;
2、修改文件的编码格式;
3、把到记事本的内容再回改了编码格式之后的文件中;
4、保存文件。

热点内容
scratch编程网站 发布:2025-02-01 05:51:27 浏览:395
安卓怎么更好用 发布:2025-02-01 05:45:38 浏览:146
ps如何存储多页为pdf 发布:2025-02-01 05:44:15 浏览:32
预编译和预处理区别 发布:2025-02-01 05:30:42 浏览:965
怎么改变网络服务器 发布:2025-02-01 05:24:55 浏览:602
华为云服务器可以装软件吗 发布:2025-02-01 05:20:29 浏览:346
为什么ios比安卓稳定 发布:2025-02-01 05:17:15 浏览:668
农村社保卡密码多少 发布:2025-02-01 05:17:05 浏览:745
android下拉刷新通用 发布:2025-02-01 05:03:51 浏览:906
紫光存储最近 发布:2025-02-01 04:58:49 浏览:381