導航:首頁 > 編程語言 > pythongb18030

pythongb18030

發布時間:2022-05-13 10:58:14

python怎麼知道一個字元串的編碼方式

字元串的編碼,有很多種如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64

python 對編碼的處理有兩個方法,decode()和 encode()方法

a='你好'
b='python'
printa.decode('utf-8').encode('gbk')##decode方法把字元串轉換為unicode對象,然後通過encode方法轉換為指定的編碼字元串對象
printb.decode('utf-8')##decode方法把字元串轉換為unicode對象

所以要讓python(或者說機器)來識別字元串的編碼,是一件很困難的事。編碼就是漢字和整數之間的對應,同一個整數,可以在不同的編碼中,都有對應的漢字。比如下面的例子,比特流'xe6xb0xb4xe5xa3xb6'在四種編碼中都有對應的漢字,但只有在utf-8編碼下,它對應的漢字才有意義。我們可以一眼看出這點,可是要讓計算機做到這點,就很難了。

>>>s='水壺'
>>>s
18:'xe6xb0xb4xe5xa3xb6'
>>>printunicode(s,'big5')
瘞游ㄥ
>>>printunicode(s,'gbk')
姘村6
>>>printunicode(s,'gb2312')
姘村6
>>>printunicode(s,'utf-8')
水壺

② python導入csv文件 顯示編碼錯誤,gb18030就可以導入, gb2312導不入,為什麼呢

說明這個csv文件應該是使用gb18030編碼的。兩種區別詳見:網頁鏈接

編碼方式不通,解碼方式也不同。

通常我們在Windows下,不同的Excel可能使用不同的本地語言編碼。而在非Windows系統下,通常使用UTF-8編碼,這樣會通用些。

可以使用notepad++來處理下源文件,可以看到編碼方式。另存為UTF-8就行了。這種方式比較通用。

③ Python print無法輸出中文字元

這里提示語法錯誤。因為你沒有指定文件的編碼,默認情況下不能用中文。

如果代碼中有中文、中文的注釋,需要在文件最上面加上這一句:


#encoding:utf-8

print'哈哈哈哈哈'


這樣就OK了,望採納!

④ python異常亂碼如何解決

如果頁面是GB18030編碼,而資料庫是GBK編碼,一般來說是不用轉換的。GB18030是GBK的超級。GB18030本身兼容GBK,而GB18030中的部分字元GBK中是沒有的。將GB18030字元寫入GBK的資料庫,只會丟失部分字元而已。一般網頁上不會出現罕見的字元,所以這種情況是無需處理的。


所以,請仔細核對頁面和資料庫的編碼。


即使你提供的頁面、資料庫編碼是正確的,而且一定要轉換,也應該這樣做:

s='GB18030字元串'
s=s.decode('GB18030')#轉化為unicode
s=s.encode('GBK')#轉化為GBK

⑤ python文件編碼問題

還真有些弄不明白。不過我就明白的給你說。

  1. 不要用記事本,另存改變編碼,除非你目標編碼是ANSI

  2. 只要是文字都是字元編碼,不可能是內存中的編碼格式。WINDOWS使用MBCK(類似這個名子)的內部編碼。就是多位元組編碼的方式存在內存里。但是存在文件里一定是字元串,一定是正式的國際編碼。

  3. ANSI是操作系統內的標准編碼。對於通常來說就是GB18030

  4. unicode有很多編碼方式。包括utf-8,utf-16, big-5, gbk, gb18030等。所以這里微軟說的unicode估計是給微軟程序做序列化用的格式

  5. unicode big endian同上。這個編碼應該是一個長位元組編碼用的。


順便說一下,微軟記事本的UTF-8編碼文件有問題,前面有1-2個位元組的識別用字元。如果你用python或者是其它操作系統讀取文件,可能會出問題。

⑥ Python 如何把一個GB18030文件轉換成Utf8格式

content = open("gb18030.txt").read().decode("gb18030")

open("utf8.txt","w").write(content.encode("utf8"))

⑦ Python中怎麼定義中文編碼

在程序的第一行指定中文編碼方式,並且輸入字元為unicode,然後編碼成gb18030方式,完整程序如下:
-------------------------------------
# -*- coding: gb18030 -*-
#!/usr/bin/python

cont = raw_input( u"請輸入:".encode("gb18030") )

print cont
-------------------------------------
輸入的內容也可以是中文

⑧ 如何判斷中文亂碼 python

如果頁面是GB18030編碼,而資料庫是GBK編碼,一般來說是不用轉換的。GB18030是GBK的超級。GB18030本身兼容GBK,而GB18030中的部分字元GBK中是沒有的。將GB18030字元寫入GBK的資料庫,只會丟失部分字元而已。一般網頁上不會出現罕見的字元,所以這種情況是無需處理的。

所以,請仔細核對頁面和資料庫的編碼。

即使你提供的頁面、資料庫編碼是正確的,而且一定要轉換,也應該這樣做:

s = 'GB18030字元串'
s = s.decode('GB18030') # 轉化為unicode
s = s.encode('GBK') # 轉化為GBK

⑨ 如何解決python UnicodeDecodeError問題

python的中文編碼比較容易采坑,主要有一下幾個注意點:

明確讀取的是什麼編碼格式的輸入 gb18030,還是utf-8,,如果不是從文件中來,而是代碼內的中文字元,最好直接 u'中文',將編碼變為 unicode
操作的時候,注意各種字元串的編碼方式匹配,可以都轉為unicode以統一處理,string.decode('gb18030') 可以把 gb18030編碼轉換為 unicode編碼
輸出時,明確最終的輸出格式是什麼,從而採用正確的 encode 方式進行編碼
至於json,在load的時候,注意設定編碼方式, json.loads(str, encoding='gb18030') 或者 utf-8

如果按照這個原則解決不了,可以考慮貼代碼

⑩ python終端輸出亂碼怎麼解決

命令行終端上工作時,經常會碰到一個頭疼的問題就是中文亂碼。下面我們就來看一下解決python在終端輸出亂碼的解決方法。

牽涉編碼的地方一共有五處:

嚴格來講,五碼一致的時候,如果文件沒有損壞,應該是能夠正常顯示了。

Python編碼聲明:

如果python代碼文件中包含中文,就一定要在代碼文件的前兩行(注意:一定要是前兩行)做出編碼聲明,否則python代碼默認採用ASCII保存,這樣遇到中文字元就會報錯。在代碼頭部聲明編碼的方式有三種:

Vim中有關編碼的選項:

在 Vim 中,有四個與編碼有關的選項,它們是:fileencodings、fileencoding、encoding 和 termencoding。

Linux系統的編碼設置:

Linux的系統編碼設置可以通過設置locale來完成,直接在命令行敲locale,然後回車,即可查看當前系統的編碼設置,與保存文件相關的設置是LC_CTYPE。

如LC_CTYPE=zh_CN.gb18030,即把系統的編碼設置成為了gb18030。

更多Python知識請關注Python自學網

閱讀全文

與pythongb18030相關的資料

熱點內容
svn怎麼看伺服器的地址 瀏覽:187
騎馬與砍殺1命令部隊用盾牌 瀏覽:595
光纜pdf 瀏覽:350
加密流量實時監測 瀏覽:628
360壓縮和好壓哪個好 瀏覽:61
python判斷變數是否為list 瀏覽:906
雲伺服器1m帶寬表示什麼意思 瀏覽:702
429升冷櫃用多大壓縮機 瀏覽:116
決策樹演算法java實現 瀏覽:376
androidtv開發焦點控制 瀏覽:328
論人的成長pdf 瀏覽:282
python網站源代碼 瀏覽:827
手機文件壓縮器怎麼安裝 瀏覽:112
androidsdk封裝 瀏覽:266
微信加密不知道怎麼取消 瀏覽:705
分析演算法設計程序編寫 瀏覽:843
linux啟動dhcp失敗 瀏覽:356
芙蓉出水選股公式源碼 瀏覽:763
linux更改密碼錯誤 瀏覽:244
最美的源碼 瀏覽:803