编程进行中文转换是出现了UnsupportedEncodingException编译错误,怎么解决?

mxldream 2003-10-23 10:54:01
代码如下:

byte[] utf8 = usDollarZh.getBytes("UTF-8"); //usDollarZh是个从文本中读出的字符串
String zhDollar = new String(utf8, "UTF-8");

编译时出现UnsupportedEncodingException错误,怎么解决?
...全文
7494 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxldream 2003-10-23
  • 打赏
  • 举报
回复
是编译错误,不是运行期错误,跟try有什么关系,连运行都运行不了,要try干嘛
zhang21cnboy 2003-10-23
  • 打赏
  • 举报
回复
靠,你没有使用try catch去处理可能发生的异常!
mxldream 2003-10-23
  • 打赏
  • 举报
回复
to xwlovesh(xiewei):
换成GB2312也是不行的,编译错误为
“unhandled exception type UnsupportedEncodingException”
再说,UTF-8编码是有的
honkyjiang 2003-10-23
  • 打赏
  • 举报
回复
nsupportedEncodingException 就换一种嘛
lldwolf 2003-10-23
  • 打赏
  • 举报
回复
什么还要有UTF-8?毕竟互联网70%以上的信息仍然是英文。如果连英文都用2个字节存取(UCS-2),空间浪费不就太多了?所谓UTF-8就是这样一个为了提高英文存取效率的字符集转换格式:Unicode Transformation Form 8-bit form。用UTF-8,UNICODE的2字节字符用变长个(1-3个字节)表示:

对英文,仍然和ASCII一样用1个字节表示,这个字节的值小于128(\x80);
对其他语言的用一个值位于128-256之间的字节开始,再加后面紧跟的2个字节表示,一个字符一共是3个字节;
因此,在应用中程序处理过程中所有字符都是16位(双字节),但在存取转换成字节流时使用UTF-8格式转换,对于英文字符来说和原来用ASCII方式存取时相比大小仍然是一样的,而对中文来说和原来的GB2312编码方式相比,大小为:(3字节/2字节)=1.5倍

lldwolf 2003-10-23
  • 打赏
  • 举报
回复
帮你顶一下
one_bird 2003-10-23
  • 打赏
  • 举报
回复
楼上说的对~
xwlovesh 2003-10-23
  • 打赏
  • 举报
回复
没有UTF-8这种编码,给你解决地代码:
private static final String inCode = "ISO-8859-1";
private static final String outCode = "gb2312";

/**
* 转换字符串编码ISO-8859-1为gb2312
* <div>到数据库时用readString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String readString(String inputString){
try {
byte[] tempByte = inputString.getBytes(inCode);
inputString = new String(tempByte,outCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
}
}

/**
* 转换字符串编码gb2312为ISO-8859-1
* <div>显示的时候用writeString(String inputString)</div>
* @param inputString 输入字符串
* @return 转换后的字符串
*/
public static String writeString(String inputString){
try {
byte[] tempByte = inputString.getBytes(outCode);
inputString = new String(tempByte,inCode);
}
catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported encoding type.");
}finally{
return inputString;
}

}
TonyTonyQ 2003-10-23
  • 打赏
  • 举报
回复
呵呵。
zhang21cnboy 2003-10-23
  • 打赏
  • 举报
回复
“unhandled exception type UnsupportedEncodingException”
还有就是这个错误题是,已经很明确了!哎!!!!
zhang21cnboy 2003-10-23
  • 打赏
  • 举报
回复
java是强类型语言,如果编译器发现你没有去处理可能抛出的异常,就是语法错误!

看来你对java的基本语法都不熟悉!回去翻翻书吧!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧