62,614
社区成员
发帖
与我相关
我的任务
分享
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class In {
public static void main(String[] args) throws IOException {
//用你这个字做实验,我想看看在各种编码下,二进制都是什么样子
String s = "你";
PrintBytes(s.getBytes("GBK"));
PrintBytes(s.getBytes("UTF-8"));
PrintBytes(s.getBytes("GB2312"));
while (true) {
PrintOneByte((byte) System.in.read());
}
}
//以二进制形式输出一个byte数组
static void PrintBytes(byte[] bytes) {
for (int i = 0; i <= bytes.length - 1; i++) {
//调下面那个函数。。
PrintOneByte(bytes[i]);
}
System.out.println();
}
//以二进制形式输出一个byte
static void PrintOneByte(byte oneByte) {
int shadow = 1;
int temp = (int) oneByte;
for (int p = 7; p >= 0; p--) {
if ((temp & (shadow << p)) != 0)
System.out.print(1);
else
System.out.print(0);
}
System.out.print(" ");
}
}