/**
* 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();
}
分享到:
相关推荐
项目中用到了AT指令中的GSM短信息的收发,上网找的代码大多都是C或者C++语言编写的,因为我使用的是java语言,于是决定自己编写一套java语言的GSM-PDU模式短信息编码与解码的代码: 1、短信传输分三种模式:Block...
PDU短信编解码工具是IT领域中一种实用的软件工具,主要针对的是通信协议中的短信服务(SMS)。PDU,全称为Protocol Data Unit,即协议数据单元,是GSM(全球系统移动通信)网络中短信传递的一种编码方式。这个升级版...
身份证读卡器生成的基本信息TEXT文件,由于是采用 GB 13000 的 UCS-2 编码格式,java读取出来是乱码,这个段代码就是解决转码问题的,亲测可用
在Java中,可以使用`java.nio.charset.Charset`类的`newDecoder`和`newEncoder`方法来创建解码器和编码器。 在处理UCS2和GB2312转换时,需要注意的一些问题包括: 1. 不完整的字符集:UCS2可以表示更多的字符,而...
了解这些基本概念后,深入研究`USC2_80_81_82.java`源码将帮助你更好地理解实际的转换逻辑和细节。源码会包含具体的字节操作和错误处理机制,这些都是实现编码转换的关键部分。如果你需要进一步的帮助,例如分析源码...
编码过程中,需要考虑7位编码集(7-bit ASCII)、16位编码集(UCS-2)的选择,以及如何处理长短信等复杂情况。 `PduUnpack.java`则负责解码接收到的PDU数据。这个过程涉及从二进制数据中提取出短信内容、发送者和...
标题 "输出中文Font 'STSongStd-Light' with 'UniGB-UCS2-H' is not recognized" 提供了一个IT问题,主要涉及到在处理中文字符时遇到的字体识别问题。iText是一个流行的Java库,用于创建和修改PDF文档。在这个问题中...
1. **编码字符集**:短信内容首先需要根据选定的字符集(如7位基本GSM字符集、UCS2等)进行编码。 2. **添加校验位**:为了确保数据传输的准确性,会添加一个校验位,通常是奇偶校验位。 3. **创建TP-UDH**:如果...
4. **短信内容编码**:短信内容根据字符集(如7位的GSM 7位编码集,或者16位的UCS-2编码)进行编码,超过7位的字符集需要使用扩展格式。 5. **校验和计算**:为了确保数据传输的准确性,编码过程中会生成一个校验和...
00表示7位编码,02表示8位编码,08表示UCS2(Unicode)编码。 10. 对于包含有效期的短信,代码会根据`TP_VPF`的值跳过相应的字节。 11. 如果是长短信,内容前会有额外的包头信息,代码会处理这些信息以获取完整的...
标题“UCS2-GBK-EUC.rar_euc gbk_rar_verify”暗示了这是一个与字符编码转换和RAR压缩文件相关的程序或工具。描述提到“this is source program to verify who they are.”,意味着这个程序的目的是验证字符编码在...
3. 编码方式:7位ASCII、8位UCS-2或16位UCS-2,根据短信内容决定。 4. 用户数据长度(UDL):表示用户数据部分的字节数。 5. 用户数据:实际的短信内容,根据编码方式进行编码。 三、短信PDU解码 解码过程涉及以下...
4. **消息编码与解码**:SMPP协议使用特定的数据编码格式,如7位GSM字符集、8位UCS2编码或16位Unicode。源码中可能有`Encoder`和`Decoder`类,负责将文本消息转换为适合网络传输的格式,并将接收到的二进制数据还原...
它有两种主要形式:UCS-2(Unicode Character Set - 2 bytes)和UCS-4(Unicode Character Set - 4 bytes)。UCS-2是最常用的,每个字符使用两个字节表示。Unicode不兼容其他编码标准,因为它采用定长编码,便于...
1. **创建PDU对象**:首先,你需要创建一个`OutboundPDU`对象,设置其服务中心地址(SCA)、短信类型(例如,提交报告请求或编码为UCS-2)和短信内容。 2. **编码短信**:利用SMSLIB提供的`OutboundMessage`类,...
6. **短消息编码与格式**:短消息的编码可能涉及到GSM 7位编码、UCS2(16位)编码等,还需要处理短信的分段和重组,以便适应短信中心对短信长度的限制。 7. **异常处理与重试机制**:由于网络环境的不稳定,源码...
短信内容可能包含多种字符集,如GSM 7位编码、UCS2编码等。Java实现需要处理这些编码,确保短信内容能在不同设备间正确显示。 6. **消息提交与确认**: 发送短信时,需要通过`submit_sm`命令将消息发送到SMSC。...
6. **编码与解码**:CMPP协议中,短信内容通常使用7位编码(GSM 7 bit Default Alphabet)或者16位编码(UCS2),开发者需要理解这两种编码方式并进行正确的转换。 7. **错误处理**:CMPP2协议定义了多种错误代码,...
2. **数据编码与解码**:SMPP协议使用二进制编码,因此在Java中处理SMPP消息时,需要理解各种数据类型的编码规则,如7位ASCII编码、16位UCS-2编码等,以确保消息正确传输。 3. **短消息提交与接收**:核心功能是`...
- **定义**:UTF-16BE 是一种16位的Unicode转换格式(UCS-2),采用大端字节序(Big Endian)。 - **特点**: - 大端字节序意味着高位字节存储在较低的地址中。 - 在UTF-16BE中,“字节顺序标记”(Byte Order ...