如果你在Python虚拟环境中下载依赖时遇到 UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 18: illegal
> chardet.detect(d) {'confidence': 1.0, 'encoding': 'ascii'} >>> print d ['\xe6\x88\x91', '\xe6\x98\xaf ('ascii') >>> print e ['\xe6\x88\x91', '\xe6\x98\xaf'] >>> type(e) <type 'unicode'> >>> f = e.encode ('utf-8') >>> f "['\\xe6\\x88\\x91', '\\xe6\\x98\\xaf']" >>> print f ['\xe6\x88\x91', '\xe6\x98\xaf'] (d) <type 'str'> >>> print d ['\xe6\x88\x91', '\xe6\x98\xaf'] >>> import syss Traceback (most recent dd.decode('utf-8') ['\xe6\x88\x91', '\xe6\x98\xaf'] >>> print dd ['\xe6\x88\x91', '\xe6\x98\xaf'] >>>
xBA", rel_id="1000010001", pid=10000, level=2) Record 221: (id=10002) → (name="\xE4\xB8\x89\xE7\x8E\xAF =3) Record 348: (id=10004) → (name="\xE5\x9B\x9B\xE7\x8E\xAF\xE5\x88\xB0\xE4\xBA\x94\xE7\x8E\xAF\xE4\ =3) Record 824: (id=10012) → (name="\xE5\x9B\x9B\xE7\x8E\xAF\xE5\x88\xB0\xE4\xBA\x94\xE7\x8E\xAF\xE4\ =3) RECORD: (id=10004) → (name="\xE5\x9B\x9B\xE7\x8E\xAF\xE5\x88\xB0\xE4\xBA\x94\xE7\x8E\xAF\xE4\xB9 =3) RECORD: (id=10012) → (name="\xE5\x9B\x9B\xE7\x8E\xAF\xE5\x88\xB0\xE4\xBA\x94\xE7\x8E\xAF\xE4\xB9
\x68\x25\xaf\xad” “\xff\xe0\xaf\xa0\xff\xe4\xaf\xa0\xff\xe8\xaf\xa0\xff\xec\x9b\x89\xb9\xbc” “\x24\x0e \xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce” “\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4 \x03\x68\x21\xef\xfc\xfc\xaf\xaf\xfb\xfe\xaf\xaf\xfb\xfa” “\x27\xa4\xfb\xfe\x01\x01\x01\x0c\x21\x8c\x11 \x68\x25\xaf\xad” “\xff\xe0\xaf\xa0\xff\xe4\xaf\xa0\xff\xe8\xaf\xa0\xff\xec\x9b\x89\xb9\xbc” “\x24\x0e \xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce” “\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4
\x68\x25\xaf\xad” “\xff\xe0\xaf\xa0\xff\xe4\xaf\xa0\xff\xe8\xaf\xa0\xff\xec\x9b\x89\xb9\xbc” “\x24\x0e \xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce” “\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4 \x03\x68\x21\xef\xfc\xfc\xaf\xaf\xfb\xfe\xaf\xaf\xfb\xfa” “\x27\xa4\xfb\xfe\x01\x01\x01\x0c\x21\x8c\x11 \x68\x25\xaf\xad” “\xff\xe0\xaf\xa0\xff\xe4\xaf\xa0\xff\xe8\xaf\xa0\xff\xec\x9b\x89\xb9\xbc” “\x24\x0e \xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce” “\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4
粦 7 16 娴呯櫧 铚风缉 娴婂搷 妯$硦 骞冲潶 纭粦 濂界摐 1 鏄\xaf "\n5,娴呯櫧,铚风缉,娴婂搷,娓呮櫚,鍑归櫡,纭粦,鏄\xaf" 2 鏄\xaf"\n7,涔岄粦,绋嶈湻,娴婂搷,绋嶇硦,绋嶅嚬,杞矘,鏄\xaf" 3 鏄\xaf"\n9,涔岄粦,绋嶈湻,
\x3d\xae\x6d\xb6\xfd\x0e\x5e\xe2\x3d\xee\x6d\xb6\xdd" "\x46\x5e\x66\xd8\x84\x6f\x70\x9e\xdf\x5e\x58\xaf \x16\x5f\xe0\x8a\x87\x99\x3f\xaf\x31\x19" "\xa9\xc7\xcf\x3b\x7c\xfb\x5f\x9f\x8d\x23\x47\xd4\x7c\x15\x5a \x04\xce\xda\xe8\xc5\x1c\x57\x37\x3f\x9e\x68\x0c" "\x66\x5b\x27\xa9\x27\x31\xe5\x75\x26\xd4\x5e\x96\xaf \x26\xf4\x5e\xe0\x96\x8f\x9f\xa4\x0a\x62\x77\x96\xba" "\x4b\xe5\x49\xa5\x5f\xe9\xa7\x1a\x2b\xcd\xae\xaf \x57\x4e\x03\x6f" "\x94\x64\x87\xa4\x39\x19\x59\x90\x1b\x72\x64\xee\xac\x63\x07" "\x22\xaf\xda\xe8\xe6
x01X\x06\x00\x00\x00\xe5\xb0\x8f\xe5\x8d\x9aq\x02X\x03\x00\x00\x00jobq\x03X\x0c\x00\x00\x00\xe8\xbd\xaf \xe4\xbb\xb6\xe6\xb5\x8b\xe8\xaf\x95q\x04X\t\x00\x00\x00\xe8\xae\xa2\xe9\x98\x85\xe5\x8f\xb7q\x05X\x18 \x00\x00\x00\xe5\xb0\x8f\xe5\x8d\x9a\xe6\xb5\x8b\xe8\xaf\x95\xe6\x88\x90\xe9\x95\xbf\xe4\xb9\x8b\xe8\
\xbd\xf2\xea\xcb\xaf|\xfa\xfd\xf7? \x04\xdfX\xd5\xb1R\x88\x94\xa7>\x94\xde\x18\x97D\xf1\xe1\xfd\xc3\xb7\xdez\xeb\xaf\xff\xfa\xaf\xaf_\xbf \xfca\x9a\xc6\xaf\xbc\xf2\xe9/\x7f\xf9\xcb\x9f\xfb\xeckW\xaf_/\xe6sf\x7f\x05\x9c\x12\xfa\xb2,\x1f=zt\ <<\xfc\xd3\xaf\xff\xd9_}\xf3\xaf\x1f<<\xf4\xc2q\x1c{\x11U\xc6\x02T\xaf\xe8v\xbbe\x19\x8c1\xbd^\xef\x99g \xdf\xeff/<\xf7\xfck\xaf~z\xd4\x1f\x8c\xc7\xe3+;\xbb\x14\xbbF!
XR806", "3 running on FreeRTOS", "4 for Jishu Community" }; uint8_t bssid[4][6] = { {0xba, 0xde, 0xaf , 0xfe, 0x00, 0x06}, {0xba, 0xde, 0xaf, 0xfe, 0x00, 0x07}, {0xba, 0xde, 0xaf, 0xfe, 0x00, 0x08}, { 0xba, 0xde, 0xaf, 0xfe, 0x00, 0x09}, }; #define TOTAL_LINES (sizeof(ssids) / sizeof(char *)) uint8_ Duration 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 4-9: Destination address (broadcast) 0xba, 0xde, 0xaf , 0xfe, 0x00, 0x06, // 10-15: Source address 0xba, 0xde, 0xaf, 0xfe, 0x00, 0x06, // 16-21: BSSID
\x67\x4a\xc1\xd3\x07\x11\x27\xf6\xed\xae\xaa\xc8\x7e\x27" "\xa6\xb6\xb0\xd2\x13\x45\xe3\xaf \x3c\x62\x12\x63\xdd\x07\xef\x3e\xf6\x3e\xc4" "\x7b\xdf\x0e\xb6\xaf\xee\x27\xc0\x6a\x06\xa3 \x99\x4f\x6e\x0c\xa5\x86\xef\xb6\x66\x9a\x7b\xc4" "\xf5\xc7\x6e\xdc\x66\x65\xf7\xef\x45\xaf \xdc\x98\xfb\x4d\x10\x11\x3b\x34\x9e\x9a\x5c\xd0\x07" "\x6d\x2a\x97\x38\x13\xd4\xef\x0f\xaf \x65\xf7\xcc\xb0\x20\x07\x8b\x99\x65\xdd\xcd\x4e\x2d" "\xa6\x9e\xa0\xd2\xa7\x73\x3a\x5a\xaf
\xa2\xff\xff" "\x8f\xa4\xff\xff" "\x34\x0f\xff\xfd" "\x01\xe0\x78\x27" "\xaf\xaf\xff\xe0" "\x3c\x0e" + lport + "\x35\xce" + lport + "\xaf\xae\xff\xe4" "\x3c\x0e" + lhost[:2] + "\x35\xce" + lhost[2:4] + "\xaf\xae\xff\xe6" "\x27\xa5\xff\xe2" "\x24\x0c\xff\xef" "\x01\ \xaf\xff\xec" "\x3c\x0e\x6e\x2f" "\x35\xce\x73\x68" "\xaf\xae\xff\xf0" "\xaf\xa0\xff\xf4" "\x27\xa4\xff\xec" "\xaf\xa4\xff\xf8" "\xaf\xa0\xff\xfc" "\x27\xa5\xff\xf8" "\x24\x02
Official Account(\xe5\xbe\xae\xe4\xbf\xa1\xe5\x85\xac\xe4\xbc\x97\xe5\x8f\xb7)\xef\xbc\x9a\xe7\x8c\xbf\xe8\xaf \xb4python\r\n@Motto:\xe4\xb8\x8d\xe7\xa7\xaf\xe8\xb7\xac\xe6\xad\xa5\xe6\x97\xa0\xe4\xbb\xa5\xe8\x87 \xb3\xe5\x8d\x83\xe9\x87\x8c\xef\xbc\x8c\xe4\xb8\x8d\xe7\xa7\xaf\xe5\xb0\x8f\xe6\xb5\x81\xe6\x97\xa0\ xbd\xa9\xe9\x9c\x80\xe8\xa6\x81\xe5\x9d\x9a\xe6\x8c\x81\xe4\xb8\x8d\xe6\x87\x88\xe5\x9c\xb0\xe7\xa7\xaf \xe7\xb4\xaf\xef\xbc\x81\r\n' ------------------------------------------------------------ 使用decode()
("0x12 是不是数字:"+isNumeric("0x12")); // A-F 代表十六进制中的 10-15 false System.out.println("0xAF 是不是数字:"+isNumeric("0xAF")); // double false System.out.println("12.12d 是不是数字:"+isNumeric 是不是数字:true 200 是不是数字:true 3000.00 是不是数字:true 0b11001 是不是数字:false 012 是不是数字:true 0x12 是不是数字:false 0xAF
Official Account(\xe5\xbe\xae\xe4\xbf\xa1\xe5\x85\xac\xe4\xbc\x97\xe5\x8f\xb7)\xef\xbc\x9a\xe7\x8c\xbf\xe8\xaf \xb4python\r\n@Motto:\xe4\xb8\x8d\xe7\xa7\xaf\xe8\xb7\xac\xe6\xad\xa5\xe6\x97\xa0\xe4\xbb\xa5\xe8\x87 \xb3\xe5\x8d\x83\xe9\x87\x8c\xef\xbc\x8c\xe4\xb8\x8d\xe7\xa7\xaf\xe5\xb0\x8f\xe6\xb5\x81\xe6\x97\xa0\ xbd\xa9\xe9\x9c\x80\xe8\xa6\x81\xe5\x9d\x9a\xe6\x8c\x81\xe4\xb8\x8d\xe6\x87\x88\xe5\x9c\xb0\xe7\xa7\xaf \xe7\xb4\xaf\xef\xbc\x81\r\n' ------------------------------------------------------------ 使用decode()
repetition") >>> m.digest() b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf spammish repetition").digest() b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf repetition") >>> h.digest() b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf
//2、空指针NULL int *pn = NULL; printf("%#x \n",&pn);//0xaf7df7c8 *pn = 10;//error 会报错 Process finished printf("%d \n",pn); 一般先判断一下是否生效,然后再使用 //2、空指针NULL int *pn = NULL; printf("%#x \n",&pn);//0xaf7df7c8
小的红色框中的数据即为audioTag的header,此处值为0xaf。接下来,我们就看下flv中audioTag的Header是如何组织的: ? 好了,熟悉完这个组织格式以后,我们来看抓包中的例子,rtmp Body中的数据是audio类型,audio类型的第一个字节表示header,其值为0xaf=0x10101111,将二进制隔开为4段:
寄存器地址及位地址声明的原因 reg51.h 里面主要是一些特殊功能寄存器的地址声明,对可以位寻址的,还包括一些位地址的声明,如果如 sfr P1=0x80; sfr IE=0xA8; sbit EA=0xAF sbit EA=0xAF 这句话表示:EA 这一位的地址为 0xAF。
* 读 */ { // 下面两行恢复I2C操作,发出P信号 s3c2440_i2c_regs->iicstat = 0x90; s3c2440_i2c_regs->iiccon = 0xaf 写 */ { // 下面两行用来恢复I2C操作,发出P信号 s3c2440_i2c_regs->iicstat = 0xd0; s3c2440_i2c_regs->iiccon = 0xaf i2c_xfer_data.cur_ptr++; // 将数据写入IICDS后,需要一段时间才能出现在SDA线上 ndelay(50); s3c2440_i2c_regs->iiccon = 0xaf i2c_regs->iiccon = 0x2f; // 恢复I2C传输,接收到下一数据时无ACK } else { s3c2440_i2c_regs->iiccon = 0xaf , Tx Clock = 0.195MHz */ s3c2440_i2c_regs->iiccon = (1<<7) | (0<<6) | (1<<5) | (0xf); // 0xaf