‘壹’ java String字符串转UTF-8 hexcode怎么转
String s=new String("欲转换字符串".getBytes(),"utf-8");
String s=new String("欲转换字符串".getBytes("utf-8"),"utf-8");
其中
s.getBytes("UTF-8");
的意思是以UTF-8的编码取得字节
new String(XXX,"UTF-8");
的意思是以UTF-8的编码生成字符串
‘贰’ java怎么把把字符转成utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
String t = "这是一个字符串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
‘叁’ java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档
默认Java转换GBK格式的可以通过提供的转换类来实现,示例如下:
如果直接把Java源代码复制到Eclipse中所有的中文信息都出现乱码。将文本文件的编码格式从GBK转UTF-8的方式有很多,
比较早以前我处理方式都是自己写程序,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用ApacheCommon组件,用commons-io.jar实现文件的
读取和写入,代码如下:
//GBK编码格式源码路径
StringsrcDirPath="D:\dev\workspace\masdev\mas\src";
//转为UTF-8编码格式源码路径
Stringutf8DirPath="D:\UTF8\src";
缓陆蔽
//获取所有java文件
CollectionjavaGbkFileCol=FileUtils.listFiles(new悉没File(srcDirPath),newString[]{"java"},true);
扰州
for(FilejavaGbkFile:javaGbkFileCol){
//UTF8格式文件路径
Stringutf8FilePath=utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
//使用GBK读取数据,然后用UTF-8写入数据
FileUtils.writeLines(newFile(utf8FilePath),"UTF-8",FileUtils.readLines(javaGbkFile,"GBK"));
}
‘肆’ 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[ ]数组才能正确被还原。
(4)javastringutf8扩展阅读
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转为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;
(5)javastringutf8扩展阅读:
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编码的字符串使用GB18030输出
java
很方便进行这种转换
如果输入是UTF8的字节用
String
s=new
String(utf8_bytes,
"UTF-8");
//utf8_bytes为byte[]类型
如果输入是字符串,直接内
String
s=原返回。
在输出是转换gb18030,不输出时不用转换。
os.write(s.getBytes("GB18030"));
//os为输出流容
‘柒’ java如何把string转为utf-8
可通过以下代码转:
/**
*GetXMLStringofutf-8
*
*@returnXML-Formedstring
*/
(Stringxml){
//AStringBufferObject
StringBuffersb=newStringBuffer();
sb.append(xml);
StringxmString="";
StringxmlUTF8="";
try{
xmString=newString(sb.toString().getBytes("UTF-8"));
xmlUTF8=URLEncoder.encode(xmString,"UTF-8");
System.out.println("utf-8编码:"+xmlUTF8);
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//returntoStringFormed
returnxmlUTF8;
}
‘捌’ java 按行读取utf-8文件且处理每行string,将处理后的string写到一个新的utf-8格式文件,不能有乱码
代码没问题,检测一下你的xml文件是否是旁昌真正的utf-8编码的文件,不要说,xml文件内容里声明是utf-8编码就是孙启岁utf-8编码。或者把encoding="UTF-8",改为encoding="GBK",看一下乱不乱码,如果不乱码,说明你的xml文件其实是则睁gbk编码。
‘玖’ java 怎么把一个字符串进行utf8编码
楼上答得不对,请相信我的方法,已经确认过:
String s="abc";
String s1=URLEncoder.encode(s, "utf-8");
‘拾’ 怎么用java把一个字符串进行utf8编码
String text = “字符串”;
byte[] b_utf8 = text.getBytes("UTF-8"); //utf-8
byte[] b_iso88591 = text.getBytes("ISO8859-1"); //iso8859-1
byte[] b_gbk = text.getBytes("GBK"); //gbk
string unicode = getUnicode(text);//unicode
public static String getUnicode(String source) {
String result = "";
for (int i = 0; i < source.length(); i++) {
result += "\u"+Integer.toHexString((int) source.charAt(i));
}
return result;
}