字节,字符

public static void main(String[] args) {
		String abc="我";
		byte[] bytes = abc.getBytes();

		for (byte ev:bytes){
			System.out.println(ev);
			System.out.println(Integer.toHexString(ev)+"");	
			System.out.println(Integer.toHexString(ev&0xff)+"");	
		}
		
输出
-26
ffffffe6
e6
-120
ffffff88
88
-111
ffffff91
91

项目编码是:utf-8,我们都知道我这个字代表3个字节;

分别是 -26(1001:1010).-120,-111,我们也知

System.out.println(ev);
其中如果需要用
System.out.println(Integer.toHexString(ev)+"");	
我们需要做的是,将byte -26 在数值大小不变的情况下转为int-26 我们知道 int -26 的原码为10000000.. 11010.  
Integer.toHexString(ev) 的意思 是根据计算机存储的 方式展示出来,计算机存的是补码,那么 就上面的转补码:11111...00110. 用16进制表示就是ff..e6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值