DOS是gbk,所以我写的代码中指定gb2312或者gbk时,使用u('中文')时是没问题的。但是为什么使用unicode('中文')就出错了呢?听说unicode是将非unicode编码转换成unicode编码,但是为什么还是错的?求说的详细点~
ä½ è¿è¡ä¸è¿ä¸ªç¨åºï¼å°±è½çåºæ¥ï¼python2é»è®¤æ¯asciiï¼è½ç¶ä½ æ件使ç¨çgbkï¼ä½æ¯ä¸ä¼å½±åé»è®¤ç¼ç ã
print u'ä¸æ'ï¼è¿ä¸ªæ¯ç´æ¥å®ä¹ä¸ä¸ªunicodeå符串ã
unicode('ä¸æ')è¿ä¸ªæ¯çæunicode对象ï¼è§£éå¨ä¼å¯¹å 容使ç¨é»è®¤ç¼ç è¿è¡è§£ç ï¼è½¬æ¢æunicodeï¼é»è®¤çæ¯asciiï¼æ以æ¥éï¼ä½ æå®gbkå°±å¯ä»¥äºã
å¦æ解å³äºæ¨çé®é¢è¯·é纳ï¼
å¦ææªè§£å³è¯·ç»§ç»è¿½é®
ä½ çæææ¯è¯´ï¼print unicode('ä¸æ','gbk')åï¼å°±å° 'ä¸æ' çç¼ç æ ¼å¼ä» 'gbk'è½¬å° unicodeäºã对åï¼ é£ decode()æ¯ä¸æ¯å好就æ¯åè¿æ¥ï¼
你要是py文件的coding是gbk就要写成:
print unicode('中文','gbk')