`

java UCS2编、解码

 
阅读更多
/**
* UCS2解码
* @param src UCS2 源串
* @return 解码后的UTF-16BE字符串
* @throws Exception
*/
public static String DecodeUCS2(String src) throws Exception
{
   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 Exception(e);
   }
   return reValue;

}

/**
* UCS2编码
* @param src       UTF-16BE编码的源串
* @return 编码后的UCS2串
* @throws Exception
*/
public static String EncodeUCS2(String src) throws Exception
{

   byte[] bytes;
   try
   {
    bytes = src.getBytes("UTF-16BE");
   }
   catch (UnsupportedEncodingException e)
   {
    throw new Exception(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();
}
分享到:
评论
1 楼 yong0902 2011-12-14  
楼主测试过吗

相关推荐

    GSM-PDU模式短信编解码-java代码

    项目中用到了AT指令中的GSM短信息的收发,上网找的代码大多都是C或者C++语言编写的,因为我使用的是java语言,于是决定自己编写一套java语言的GSM-PDU模式短信息编码与解码的代码: 1、短信传输分三种模式:Block...

    PDU 短信编解码工具(升级版)

    PDU短信编解码工具是IT领域中一种实用的软件工具,主要针对的是通信协议中的短信服务(SMS)。PDU,全称为Protocol Data Unit,即协议数据单元,是GSM(全球系统移动通信)网络中短信传递的一种编码方式。这个升级版...

    GB13000 UCS-2格式转UTF-8

    身份证读卡器生成的基本信息TEXT文件,由于是采用 GB 13000 的 UCS-2 编码格式,java读取出来是乱码,这个段代码就是解决转码问题的,亲测可用

    UCS2 GB 转换

    在Java中,可以使用`java.nio.charset.Charset`类的`newDecoder`和`newEncoder`方法来创建解码器和编码器。 在处理UCS2和GB2312转换时,需要注意的一些问题包括: 1. 不完整的字符集:UCS2可以表示更多的字符,而...

    UCS2_80_81_82编码实现

    了解这些基本概念后,深入研究`USC2_80_81_82.java`源码将帮助你更好地理解实际的转换逻辑和细节。源码会包含具体的字节操作和错误处理机制,这些都是实现编码转换的关键部分。如果你需要进一步的帮助,例如分析源码...

    基于短信猫,采用PDU编码的短信收发java实现

    编码过程中,需要考虑7位编码集(7-bit ASCII)、16位编码集(UCS-2)的选择,以及如何处理长短信等复杂情况。 `PduUnpack.java`则负责解码接收到的PDU数据。这个过程涉及从二进制数据中提取出短信内容、发送者和...

    输出中文Font 'STSongStd-Light' with 'UniGB-UCS2-H' is not recognized

    标题 "输出中文Font 'STSongStd-Light' with 'UniGB-UCS2-H' is not recognized" 提供了一个IT问题,主要涉及到在处理中文字符时遇到的字体识别问题。iText是一个流行的Java库,用于创建和修改PDF文档。在这个问题中...

    PDU 短信 解码 编码

    1. **编码字符集**:短信内容首先需要根据选定的字符集(如7位基本GSM字符集、UCS2等)进行编码。 2. **添加校验位**:为了确保数据传输的准确性,会添加一个校验位,通常是奇偶校验位。 3. **创建TP-UDH**:如果...

    短信pdu编码解码_短信_短信PDU编码_pdu_

    4. **短信内容编码**:短信内容根据字符集(如7位的GSM 7位编码集,或者16位的UCS-2编码)进行编码,超过7位的字符集需要使用扩展格式。 5. **校验和计算**:为了确保数据传输的准确性,编码过程中会生成一个校验和...

    Java pdu短信解码全面解析

    00表示7位编码,02表示8位编码,08表示UCS2(Unicode)编码。 10. 对于包含有效期的短信,代码会根据`TP_VPF`的值跳过相应的字节。 11. 如果是长短信,内容前会有额外的包头信息,代码会处理这些信息以获取完整的...

    UCS2-GBK-EUC.rar_euc gbk_rar_verify

    标题“UCS2-GBK-EUC.rar_euc gbk_rar_verify”暗示了这是一个与字符编码转换和RAR压缩文件相关的程序或工具。描述提到“this is source program to verify who they are.”,意味着这个程序的目的是验证字符编码在...

    基于C语言的短信pdu的编码解码所有资料

    3. 编码方式:7位ASCII、8位UCS-2或16位UCS-2,根据短信内容决定。 4. 用户数据长度(UDL):表示用户数据部分的字节数。 5. 用户数据:实际的短信内容,根据编码方式进行编码。 三、短信PDU解码 解码过程涉及以下...

    Java实现的点对点短消息发送协议(smpp)开发包源码.rar

    4. **消息编码与解码**:SMPP协议使用特定的数据编码格式,如7位GSM字符集、8位UCS2编码或16位Unicode。源码中可能有`Encoder`和`Decoder`类,负责将文本消息转换为适合网络传输的格式,并将接收到的二进制数据还原...

    java字符集编码问题

    它有两种主要形式:UCS-2(Unicode Character Set - 2 bytes)和UCS-4(Unicode Character Set - 4 bytes)。UCS-2是最常用的,每个字符使用两个字节表示。Unicode不兼容其他编码标准,因为它采用定长编码,便于...

    smslib-java.rar_ SMS PDU encoding_JAVA SMSLIB PDU_SMSLIB_java 串

    1. **创建PDU对象**:首先,你需要创建一个`OutboundPDU`对象,设置其服务中心地址(SCA)、短信类型(例如,提交报告请求或编码为UCS-2)和短信内容。 2. **编码短信**:利用SMSLIB提供的`OutboundMessage`类,...

    基于smpp协议的Java点对点短信发送源码包

    6. **短消息编码与格式**:短消息的编码可能涉及到GSM 7位编码、UCS2(16位)编码等,还需要处理短信的分段和重组,以便适应短信中心对短信长度的限制。 7. **异常处理与重试机制**:由于网络环境的不稳定,源码...

    Java实现的点对点短消息发送协议(smpp)开发包源码

    短信内容可能包含多种字符集,如GSM 7位编码、UCS2编码等。Java实现需要处理这些编码,确保短信内容能在不同设备间正确显示。 6. **消息提交与确认**: 发送短信时,需要通过`submit_sm`命令将消息发送到SMSC。...

    cmpp.rar_CMPP2_cmpp_cmpp java_短信cmpp

    6. **编码与解码**:CMPP协议中,短信内容通常使用7位编码(GSM 7 bit Default Alphabet)或者16位编码(UCS2),开发者需要理解这两种编码方式并进行正确的转换。 7. **错误处理**:CMPP2协议定义了多种错误代码,...

    sms.rar_SMPP CODE IN JAVA_java sms_smpp_sms_短消息

    2. **数据编码与解码**:SMPP协议使用二进制编码,因此在Java中处理SMPP消息时,需要理解各种数据类型的编码规则,如7位ASCII编码、16位UCS-2编码等,以确保消息正确传输。 3. **短消息提交与接收**:核心功能是`...

    java中final类型等的应用

    - **定义**:UTF-16BE 是一种16位的Unicode转换格式(UCS-2),采用大端字节序(Big Endian)。 - **特点**: - 大端字节序意味着高位字节存储在较低的地址中。 - 在UTF-16BE中,“字节顺序标记”(Byte Order ...

Global site tag (gtag.js) - Google Analytics