python 中文設定

2022-07-30 01:48:12 字數 1702 閱讀 8303

# code:utf-8

因為python 只檢查 #、coding 和編碼字串,所以你可能回見到下面的宣告方式,這是有些人為了美觀等原因才這樣寫的:

#-*- coding: utf-8 -*-

常見編碼介紹:

編碼轉換:

python內部的字串一般都是 unicode編碼。**中字串的預設編碼與**檔案本身的編碼是一致的。所以要做一些編碼轉換通常是要以unicode作為中間編碼進行轉換的,即先將其他編碼的字串解碼(decode)成 unicode,再從 unicode編碼(encode)成另一種編碼。

所以在進行編碼轉換的時候必須先知道 name 是那種編碼,然後 decode 成 unicode 編碼,最後載 encode 成需要編碼的編碼。當然了,如果 name 已經就是 unicode 編碼了,那麼就不需要進行 decode 進行解碼轉換了,直接用 encode 就可以編碼成你所需要的編碼。值得注意的是:對 unicode 進行編碼和對 str 進行編碼都是錯誤的。

具體的說就是:如果在utf-8檔案中,則這個字串就是 utf-8編碼的。它的編碼取決於當前的文字編碼。當然了,gb2312文字的編碼就是gb2312。要在同乙個文字中進行兩種編碼的輸出等操作就必須進行編碼的轉換,先用decode將文字原來的編碼轉換成unicode,再用encode將編碼轉換成需要轉換成的編碼。

eg:由於內建函式 open() 開啟檔案時,read() 讀取的是 str,讀取後需要使用正確的編碼格式進行 decode()。write() 寫入時,如果引數是 unicode,則需要使用你希望寫入的編碼進行 encode(),如果是其他編碼格式的 str,則需要先用該 str 的編碼進行 decode(),轉成 unicode 後再使用寫入的編碼進行 encode()。如果直接將 unicode 作為引數傳入 write() ,python 將先使用源**檔案宣告的字元編碼進行編碼然後寫入。

# coding: utf-8

fp1 = open('test.txt', 'r')

info1 = fp1.read()

# 已知是 gbk 編碼,解碼成 unicode

tmp = info1.decode('gbk')

fp2 = open('test.txt', 'w')

# 編碼成 utf-8 編碼的 str

info2 = tmp.encode('utf-8')

fp2.write(info2)

fp2.close()

獲取編碼的方式:

判斷是 s 字串否為unicode,如果是返回true,不是返回false :

isinstance(s, unicode)

下面**可以獲取系統預設編碼:

#!/usr/bin/env python

#coding=utf-8

import sys

print sys.getdefaultencoding()

中文設定 spotify設定中文

有不少小夥伴使用spotify軟體聽歌,但是這款 軟體的介面預設是英文的,並不支援簡體中文,如果您想要將其設定為中文該如何設定,下面就為大家介紹一下怎樣將spotify設定中文,希望以下的介紹能夠幫助到您。spotify設定中文 1 spotify的介面語言是跟隨系統。它本身不支援簡體中文,如果你系...

ubuntu下python中文編碼的設定方式

在執行程式時出現以下錯誤是因為在預設編碼方式下出現了中文字元。syntaxerror non ascii character unicodedecodeerror ascii codec can t decode 所以更改python的編碼方式為utf8模式來適應中文字元 以下是修改方法 在出現中文...

MySQL 中文設定

mysql中文亂碼很常見,因為其預設是 latin1,而這種編碼是不支援中文的,建議選擇utf8或者gbk。但是,mysql有三層編碼設定,schema,table和column。後者會自動繼承前者的編碼。所以,要麼在建立schema的時候就設定好其編碼,要麼在後期一項一項設定。事實上,schema...