中文编码的?和英文编码的?不一样 请写一段代码实现两种编码的转换
时间: 2024-02-23 10:59:21 浏览: 18
是的,中文编码和英文编码是不同的。下面是一段Java代码,可以实现中文编码和英文编码之间的相互转换:
```java
import java.io.UnsupportedEncodingException;
public class EncodingConversion {
public static void main(String[] args) {
String chineseStr = "你好,世界!"; // 中文字符串
String englishStr = "Hello, world!"; // 英文字符串
// 中文编码转换为英文编码
try {
byte[] utf8Bytes = chineseStr.getBytes("UTF-8"); // 获取UTF-8编码的字节数组
englishStr = new String(utf8Bytes, "ISO-8859-1"); // 将字节数组转换为ISO-8859-1编码的字符串
System.out.println("中文字符串转换为英文字符串: " + englishStr);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 英文编码转换为中文编码
try {
byte[] isoBytes = englishStr.getBytes("ISO-8859-1"); // 获取ISO-8859-1编码的字节数组
chineseStr = new String(isoBytes, "UTF-8"); // 将字节数组转换为UTF-8编码的字符串
System.out.println("英文字符串转换为中文字符串: " + chineseStr);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
```
这段代码中,我们使用了Java的字符编码转换功能,将中文字符串转换为UTF-8编码的字节数组,再将字节数组转换为ISO-8859-1编码的字符串。同样地,我们也可以将英文字符串转换为ISO-8859-1编码的字节数组,再将字节数组转换为UTF-8编码的字符串,从而实现英文编码和中文编码之间的相互转换。