转载信息
作者:starmier
链接:https://www.jianshu.com/p/135c286854b6
来源:简书
Byte和char的区别?*
1.char 是字符型
byte 是字节型
2.char是用来表 示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。(这个一定要注意看)如,"中文123"(占10字节)
3.byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。Byte定义为一个Unsigned char类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
4.char 和BYTE 一个是无符号的,一个是有符号的,占用空间一样大,只是它们各自能表示数的范围不同而已.
char: -127----+128之间(ANSI)
unsigned char: 0-255之间(ANSI)
5.在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
6.Byte数据类型用一个字节(Byte)储存,可区别256个数字,取值范围:0到255。 Byte是从0-255的无符号类型,所以不能表示负数
7.byte可以直接强制转成char(一般情况下),如BYTE* p = 。。 //但是我觉得可能会丢一部分值,不建议这么做。转载者注
char* s = (char*)p;