首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

短信中的的 UCS2的编码与解码步骤(java)

2012-10-06 
短信中的的 UCS2的编码与解码方法(java)from: http://www.blogjava.net/cmzy/archive/2009/01/06/250102.h

短信中的的 UCS2的编码与解码方法(java)

from: http://www.blogjava.net/cmzy/archive/2009/01/06/250102.html

?

最近,做一个关于SMS的程序,需要对中文部分进行UCS编码,这里用了两个函数,可以将短信中的UCS2字符串在UCS2和GBK之间装换。记录以下代码:

/** * UCS2解码 * * @param src * UCS2 源串 * @return 解码后的UTF-16BE字符串 */public static String DecodeUCS2(String src) {byte[] bytes = new byte[src.length() / 2];for (int i = 0; i < src.length(); i += 2) {bytes[i / 2] = (byte) (Integer.parseInt(src.substring(i, i + 2), 16));}String reValue;try {reValue = new String(bytes, "UTF-16BE");} catch (UnsupportedEncodingException e) {throw new PduDecodeException(e);}return reValue;}/** * UCS2编码 * * @param src * UTF-16BE编码的源串 * @return 编码后的UCS2串 */public static String EncodeUCS2(String src) {byte[] bytes;try {bytes = src.getBytes("UTF-16BE");} catch (UnsupportedEncodingException e) {throw new PduEncodeException(e);}StringBuffer reValue = new StringBuffer();StringBuffer tem = new StringBuffer();for (int i = 0; i < bytes.length; i++) {tem.delete(0, tem.length());tem.append(Integer.toHexString(bytes[i] & 0xFF));if(tem.length()==1){tem.insert(0, '0');}reValue.append(tem);}return reValue.toString().toUpperCase();}

By:残梦追月

热点排行