数组转String
char[] cms = {0x55,0x02,0x01,0x00,0x56};
m_fragment.sendMessageExt(String.valueOf(cms));
其他类型转String
String s = String.valueOf( value); // 其中 value 为任意一种数字类型。
十进制转十六进制字符串
参考:JAVA中十六进制转换_神谕风行的博客-CSDN博客_java 转16进制
String str = Integer.toHexString(ID); // 转为小写16进制字符串,比如 0xF048,变成“f048”。
str = str.toUpperCase(); // 这一句可以将字母转为大写。
其他类型转int
String COMx = "3";
int i = Integer.valueOf(COMx);
字符串型转换成各种数字类型:
String s = "169";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
String 转 boolean
IsRes = Boolean.parseBoolean("true")
String转byte[]格式
一般现在统一使用的UTF-8编码方式,在这种方式下,中文不会出现乱码。
例如:
String message = “你好,这是编码测试abc”;
//将其转换成”UTF-8”编码的byte格式
byte convert[] = message.getBytes( “UTF-8” );
或者
byte convert[] = message.getBytes();
char 转 Byte
byte b = (byte)c;
决不能写成 Byte b = (Byte)c; 不能大写。
List<Byte> 转 byte[]
byte[] ret = new byte[ValidData.size()];
for (int i=0; i<ValidData.size(); i++){
ret[i] = ValidData.get(i);
}
多语言转化
多语言转由于编码的不同,需要特别注意。
比如俄语,写法如下:
if (i == 0)System.out.print(ch);
char[] chars = new char[1];
chars[0] = ch;
byte[] b = getBytes(chars);
DstOutFile.add(b[0]);
DstOutFile.add(b[1]);
public static byte[] getBytes(char[] chars) {
Charset cs = Charset.forName("GB2312");
CharBuffer cb = CharBuffer.allocate(chars.length);
cb.put(chars);
cb.flip();
ByteBuffer bb = cs.encode(cb);
return bb.array();
}