Java中的bit、byte、字母、汉字之间的关系

本文通过示例代码详细解析了Java中位、字节、字母及汉字之间的关系,并展示了如何使用Java处理字符串和字节数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完整版见 https://jadyer.github.io/




package com.jadyer.demo;

/**
 * Java中的位,字节,字母,汉字之间的关系
 * @see ====================================================
 * @see 1 bit  = 1 二进制数据
 * @see 1 byte = 8 bit (范围:-128到+127)
 * @see 1 字母 = 1 byte = 8 bit
 * @see 1 汉字 = 2 byte = 16 bit
 * @see ====================================================
 * @author 玄玉<http://blog.youkuaiyun.com/jadyer>
 * @create Aug 20, 2012 10:28:20 AM
 */
public class ByteDemo {
	/**
	 * @see 控制台打印结果,如下
	 * @see 4
	 * @see 4
	 * @see ----------------------------
	 * @see str=ABab
	 * @see 65
	 * @see 66
	 * @see 97
	 * @see 98
	 * @see ----------------------------
	 * @see name=玄玉
	 * @see -48
	 * @see -2
	 * @see -45
	 * @see -15
	 * @see ----------------------------
	 */
	@SuppressWarnings("unused")
	public static void main(String[] args) {
		//byte bb11 = 128;  //cannot convert from int to byte
		//byte bb22 = -129; //cannot convert from int to byte
		byte bb11 = 127;
		byte bb22 = -128;
		byte bb33 = 56;
		
		//byte bb44 = '玄'; //错误,因为: 1汉字==2字节
		//byte bb55 = 'bb'; //错误,因为: 'bb'==2字节
		byte bb44 = 'b';
		byte bb55 = 'B';
		byte bb66 = 'Z';
		
		//int i11 = "玄玉";  //1 int = 32 bit, but int is numeral
		//short ss = '玄玉'; //1 short = 2 byte = 16 bit = 1 汉字
		short ss11 = '玄';
		
		//char cc11 = '玄玉'; //这样是不可以的
		//char cc22 = 'cc';  //这样是不可以的
		char cc11 = '玄';
		char cc22 = 'c';
		
		String str = "ABab";
		byte[] data = str.getBytes();
		System.out.println(str.length());
		System.out.println(data.length);
		System.out.println("----------------------------");
		
		System.out.println("str=" + new String(data));
		for(int i=0; i<data.length; i++){
			System.out.println(data[i]);
		}
		System.out.println("----------------------------");
		
		byte[] name = "玄玉".getBytes();
		System.out.println("name=" + new String(name));
		for(int i=0; i<name.length; i++){
			System.out.println(name[i]);
		}
		System.out.println("----------------------------");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值