有关JAVA中编码转换问题 我的问题具体是这样的,在通信中客户端发来数据包,经解析后把数据内容显示在界面上(界面是用JAVA SWING做的),也就是数据要显示在一个JTABLE里,而用户可以根据编码集来选择以哪种形式来显示,如EBCDIK,KEIS,JIS8,SJIS,请问,我应该如何来处理呢,如何来转换编码集呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //假设原始数据编码为“EBCDIK”byte[] rowData;//这是客户端原始数据,假设已经赋好值了String str = new String(rowData,"EBCDIK");//转换成字符串将str显示到JTable;如果原始数据编码为“KEIS”,那么把new String()中的第二个参数改为"KEIS";JIS8、SJIS也一样; for (int i = 0; i < str.length(); i++) { int j = str.charAt(i); System.out.println("j:"+j); if(j<256 && j>-1){ int temp = j + 65248; if (temp > 0) ret += (char) temp; else ret += (char) j; }else ret += (char) j; } to shengyh(阿辉) :你能告诉我你的这段代码是什么作用吗? 谢谢 ResultSet rs=(ResultSet) pst.executeQuery(); Java 正则提取问题 出现异常,看看! 如何让控件随着窗口的大小变化? 关于数据库更新语句的 高难问题!请教高手!100分。 JCreator可以编译APPLET小程序吗? 求神仙解释while里面的内容第一次i= 0后查找index==-1,就break了,就跳出while了,i怎么可能还有机会再累加呢 java数据库操作问题 JBUILDER4注册码? java新手提问:请问如何从命令行里读入一个int型数据 一个关于Static的问题,讨论static的具体用法
//假设原始数据编码为“EBCDIK”
byte[] rowData;//这是客户端原始数据,假设已经赋好值了
String str = new String(rowData,"EBCDIK");//转换成字符串
将str显示到JTable;如果原始数据编码为“KEIS”,那么把new String()中的第二个参数改为"KEIS";
JIS8、SJIS也一样;
int j = str.charAt(i);
System.out.println("j:"+j);
if(j<256 && j>-1){ int temp = j + 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
}else
ret += (char) j;
}
你能告诉我你的这段代码是什么作用吗? 谢谢