16进制发送既然是直接发送,那么:怎么区分字母的大小呢?如果字母大于F该怎么处理呢?

16进制发送既然是直接发送,那么:怎么区分字母的大小呢?如果字母大于F该怎么处理呢?

十六进制的F 只是一个二进制换算过来的标识符, 实际传输还是二进制流。100101010101010101110101......(我随便打的一串数字,意思一下) 这样的。

并不是传输的是字符 'F'

所有单个英文字符都占用一个字节(8bit)
字符 'F' 的ascii码: 十进制是 70 十六进制是 46(0x64), 二进制: 01000110
字符'f' 的ascii码: 十进制是 102 十六进制是 66(0x66), 二进制: 01100110
字符'O'的ascii码: 十进制是 79 十六进制是 4F(0x4F 0x4f 都一样,只是语法解析时用), 二进制: 01001111

明白了吗?

也就是传输 一个字符 O 其实传输了1个字节, 传输的内容 用十六进制表示是0x4F 二进制是01001111
而内存里 "4F" 可能是传输了3个字节,分别是 '4' 'F' '\0' 用十六进制表示 是 0x34 0x64 0x00

16进制占4位对吧.目前市面大多数处理器都是32位或者64位,分别可以一次处理8个或16个16进制的数值
例如:32位处理器一次处理0xFFFFFFFF 单次最大值就是15的8次方依次加到15的1次方,,这就已经非常大的一个数值了
再多出来的话就得再占一个传输单元