关于byte[]的问题
import java.util.*;
class Demo
{
public static void main(String[] args) throws Exception
{
String str="联通";
byte[] bytes=str.getBytes("utf-8");//指定编码,不写默认为GBK
for(byte b:bytes)
{
System.out.println(Integer.toBinaryString(b));//字节数组中的每个元素转换成二进制
}
System.out.println(new String(bytes,"utf-8"));//解码,并且指定解码格式
}
}
------解决方案--------------------你想知道什么呢?
toBinaryString
public static String toBinaryString(int i)以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
如果参数为负,该无符号整数值为参数加上 232;否则等于该参数。将该值转换为二进制(基数 2)形式的无前导 0 的 ASCII 数字字符串。如果无符号数的大小为零,则用一个零字符 '0' (’\u0030’) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。字符 '0' ('\u0030') 和 '1' ('\u0031') 被用作二进制数字。
参数:
i - 要转换为字符串的整数。
返回:
用二进制(基数 2)参数表示的无符号整数值的字符串表示形式。
从以下版本开始:
JDK1.0.2
你没JDK API吗?