有两个编码转换函数,哪位兄弟能帮忙实现一下,不甚感激! /**
* convert HEX to ASCII
*
* example: 0x0C -> 0x3132
* 0x1234 -> 0x34363630
*
* @param inArray input data array
* @param inOffset input data offset
* @param inLength input data length
* @param outArray output data array
* @param outOffset output data offset
* @return @return the length of the result ASC stream
*/
public static short HEXToASC(byte[] inArray,
short inOffset,
short inLength,
byte[] outArray,
short outOffset){
return 0;
}
/**
* convert ASCII to HEX
* The method is used in the situation: every byte in the source stream is between "0x30" and "0x39".
*
* example: 0x3132 -> 0x0C
* example: 0x31323334 -> 0x04D2
*
* @param inArray input data array
* @param inOffset input data offset
* @param inLength input data length
* @param outArray output data array
* @param outOffset output data offset
*
* @return the length of the result HEX stream
*/
public static short ASCToHEX(byte[] inArray,
short inOffset,
short inLength,
byte[] outArray,
short outOffset){
return 0;
}
* convert HEX to ASCII
*
* example: 0x0C -> 0x3132
* 0x1234 -> 0x34363630
*
* @param inArray input data array
* @param inOffset input data offset
* @param inLength input data length
* @param outArray output data array
* @param outOffset output data offset
* @return @return the length of the result ASC stream
*/
public static short HEXToASC(byte[] inArray,
short inOffset,
short inLength,
byte[] outArray,
short outOffset){
return 0;
}
/**
* convert ASCII to HEX
* The method is used in the situation: every byte in the source stream is between "0x30" and "0x39".
*
* example: 0x3132 -> 0x0C
* example: 0x31323334 -> 0x04D2
*
* @param inArray input data array
* @param inOffset input data offset
* @param inLength input data length
* @param outArray output data array
* @param outOffset output data offset
*
* @return the length of the result HEX stream
*/
public static short ASCToHEX(byte[] inArray,
short inOffset,
short inLength,
byte[] outArray,
short outOffset){
return 0;
}
0x1234 -> 0x34363630看不懂是啥!
0x1234 =>4660 => "4660" => '4','6','6','0' => 0x34363630
感觉不是很好弄吧,不能用string做转换,因为程序是javacard要用的。
//text是你转化的字符串.
char[] array = text.toCharArray();
StringBuilder sb = new StringBuilder();
sb.append("0x")
for (char c : array) {
sb.append(Integer.toHexString(c).toUpperCase());
}
}
兄弟啊,刚说过不能用string方式的。
这个不难吧,计算机基础。简单的模运算和四则运算。2.数值和ASCII码转化
'0'=48
每个byte数值+48不久好了这些基础方法实现都不回使用到String的。