msgidconverter.java
来自「采用JAVA开发」· Java 代码 · 共 80 行
JAVA
80 行
package com.gctech.sms.util;
import java.io.OutputStream;
import java.io.IOException;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: gctech</p>
* @author 王红宝
* @version $Id: MsgIdConverter.java,v 1.1.1.1 2004/04/21 09:30:41 wanghb Exp $
*/
public class MsgIdConverter {
public MsgIdConverter() {
}
public static void writeBcdNumber(OutputStream theOs, String theNumber)
throws IOException
{
int bcd = 0x00;
int n = 0;
// First convert to a "half octet" value
for(int i=0; i < theNumber.length(); i++)
{
switch(theNumber.charAt(i))
{
case '0': bcd |= 0x00; break;
case '1': bcd |= 0x10; break;
case '2': bcd |= 0x20; break;
case '3': bcd |= 0x30; break;
case '4': bcd |= 0x40; break;
case '5': bcd |= 0x50; break;
case '6': bcd |= 0x60; break;
case '7': bcd |= 0x70; break;
case '8': bcd |= 0x80; break;
case '9': bcd |= 0x90; break;
case '*': bcd |= 0xA0; break;
case '#': bcd |= 0xB0; break;
case 'a': bcd |= 0xC0; break;
case 'b': bcd |= 0xE0; break;
}
n++;
if (n == 2)
{
theOs.write(bcd);
n = 0;
bcd = 0x00;
}
else
{
bcd >>= 4;
}
}
if (n == 1)
{
bcd |= 0xF0;
theOs.write(bcd);
}
}
public static StringBuffer convert(byte[] b){
StringBuffer sb = new StringBuffer();
for(int i=0; i<b.length; i++) {
int v = (int)b[i];
v = v < 0 ? 0x100+v :v;
String cc = Integer.toHexString(v);
if( cc.length()==1 )
sb.append( '0' );
sb.append( cc );
}
return sb;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?