📄 wpushutil.java
字号:
package com.rainbow.mas.plugin.dbplugin.util;
import java.io.UnsupportedEncodingException;
public class WPushUtil
{
/**
* 转换成十六进制 表示的字节
* @param s
* @return
*/
public static String toHexString(String s)
{
StringBuffer strB = new StringBuffer();
try
{
byte [] b = s.getBytes("UTF-8");
for (int i = 0; i < b.length; i++)
{
strB.append(Integer.toHexString(b[i] & 0X000000FF).toUpperCase());
}
}
catch (UnsupportedEncodingException e)
{}
finally
{
return strB.toString();
}
}
/**
* 格式化PUSH的格式 包括二种 URL 和 消息文字
* @param sURL
* @param message
* 例子:http://wap.sohu.com 搜狐
* 0605040B8423F025060803AE81EAAF82B48401056A0045C60B03
* 687474703A2F2F7761702E736F68752E636F6D //http://wap.sohu.com
* 00080103
* E6909CE78B90 //搜狐
* 000101
*
* @return
* @throws UnsupportedEncodingException
*/
public static String formatPushMessage(String sURL,String message)
{
StringBuffer sbf = new StringBuffer();
sbf.append("0605040B8423F025060803AE81EAAF82B48401056A0045C60B03");
sbf.append(toHexString(sURL));
sbf.append("00080103");
sbf.append(toHexString(message));
sbf.append("000101");
return sbf.toString();
}
/**
* 把java类型的byte(有符号) 转成C++的byte(无符号)类型
* 用 十六进制 表示的字符串
* @param b
* @return
*/
public static String Byte2CByte(byte b)
{
return Integer.toHexString(b & 0X000000FF).toUpperCase();
}
public static void main(String[] args) throws UnsupportedEncodingException
{
String testS = "0605040B8423F025060803AE81EAAF82B48401056A0045C60B03687474703A2F2F7761702E736F68752E636F6D00080103E6909CE78B90000101";
System.out.println(testS);
System.out.println(formatPushMessage("http://wap.sohu.com","搜狐"));
System.out.println(formatPushMessage("http://wap.sohu.com","搜狐").equals(testS));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -