String.getBytes(),迷茫在编码上,来人帮忙呀!
我按照这个写,没有问题,中文可以转换:
public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("ISO-8859-1"),"UTF-8");
}
但是,我按照这个写,中文就无法转换了,不明白为什么。
public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes(),"UTF-8");
}
String.getBytes()方法是使用平台默认的字符集,把这个String类型编译成byte序列。
可是为什么用ISO-8859-1可以正确的转换中文,而不写参数却不行呢?
public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("ISO-8859-1"),"UTF-8");
}
但是,我按照这个写,中文就无法转换了,不明白为什么。
public void setFileName(String fileName) throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes(),"UTF-8");
}
String.getBytes()方法是使用平台默认的字符集,把这个String类型编译成byte序列。
可是为什么用ISO-8859-1可以正确的转换中文,而不写参数却不行呢?
...全文
相关推荐
Java中的String类getBytes()方法详解与实例
**带参数形式**:`public byte[] getBytes(String charsetName) throws UnsupportedEncodingException` - 当需要指定特定的字符编码时
详解Java中String类型与默认字符编码
String类型的getBytes()方法String类型的getBytes()方法可以将字符串转换为字节数组。但是,这个方法也会受到String类型的默认编码方式的影响。
c#中string转换成字节byte的处理方法
`Encoding.UTF8.GetBytes()` 和 `Encoding.ASCII.GetBytes()` 是两种常用的编码方式。
C#_string_byte数组转换解析
.GetBytes(str); ```2.
String 与byte[] 间的转换
在 Java 中,String 类型可以使用 getBytes() 方法将字符串转换为 byte[] 数组,但是这种方法有可能会出现乱码问题,因为 getBytes() 方法使用平台默认的编码方式,这可能会导致乱码问题


