怎样做免费外贸网站,厦门今天刚刚发生的新闻,湛江网页设计开发,盗版视频网站怎么做的每每遇到这些问题就要想个半天#xff0c;想不明白还不舒服#xff0c;今天特别把所想整理下避免以后再次进入思想漩涡#xff01;#xff01;#xff01;计算机存储和传输都是以字节为单位 1 bit 1 二进制数据 1 byte 8 bit 1 字母 1 by…每每遇到这些问题就要想个半天想不明白还不舒服今天特别把所想整理下避免以后再次进入思想漩涡计算机存储和传输都是以字节为单位 1 bit 1 二进制数据 1 byte 8 bit 1 字母 1 byte 8 bit 1 汉字 2 byte 16 bit1. bit位 一个二进制数据0或1是1bit2. byte字节 存储空间的基本计量单位如MySQL中定义 VARCHAR(45) 即是指 45个字节 1 byte 8 bit3. 一个英文字符占一个字节 1 字母 1 byte 8 bit4. 一个汉字占2个字节 1 汉字 2 byte 16 bit5. 标点符号 A. 汉字输入状态下默认为全角输入方式 B. 英文输入状态下默认为半角输入方式 C. 全角输入方式下标点符号占2字节 D. 半角输入方式下标点符号占1字节 故汉字输入状态下的字符占2个字节 (但不排除自己更改了默认设置) 英文输入状态下的字符占1个字节 (但不排除自己更改了默认设置)ASCII码 因为信息在计算机上是用二进制表示的这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备这些设备的主要目的就是以一种人类可阅读的形式 将信息在这些设备上显示出来供人阅读理解。为保证人类和设备设备和计算机之间能进行正确的信息交换人们编制的统一的信息交换代码这就是ASCII码表它的全称是“美国信息交换标准代码”。BCD码 BCD码Binary-Coded Decimal?亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码使二进制和十进制之间的转换得以快捷的进行。asc2hex 就是字符串转化成16进制数字 如“4321” 0x34 0x33 0x32 0x31 -- 0x43 0x21 hex2asc 就是16进制数字转化成字符串 如 0x43 0x21 -- “4321” 0x34 0x33 0x32 0x31 以下给出两种实现方法 unsigned char ascii_table[16] {0, 1, 2, 3, 4, 5, 6, 7,8, 9, A, B, C, D, E, F
};8, 9, A, B, C, D, E, F
};void hex2asc(unsigned char dat, unsigned char **new)
{**new ascii_table[dat 4];*new 1;**new ascii_table[dat 0x0f];*new 1;
}int asc2hex(unsigned char dat, unsigned char *new)
{if ((dat 0) (dat 9))*new dat - 0;else if ((dat A) (dat F))*new dat - A 10;else if ((dat a) (dat f))*new dat - a 10;elsereturn -1;return 0;
}void hex2str(unsigned char *read, unsigned char **write, int len)
{while (len--)hex2asc(*read, write);
}int str2hex(unsigned char *read, unsigned char *write, int len)
{unsigned char dat;while (len--) {if (asc2hex(*read, dat))return -1;*write *write 4 | dat;if (!(len 1)) {write;}}return 0;
}转载于:https://www.cnblogs.com/uriel/p/4533840.html