pythontoutf8
1. python怎麼設置utf8編碼格式
python2.7里的話代碼前加上coding:utf-8,中文前加上u
如:
#coding:utf-8
text=u'中文'
printtext
#這里的text就是utf-8編碼
2. 如何設置python的編碼格式為utf-8
重裝了系統(ubuntu 14.04)原來正常可用的OpenERP項目在切換到開發者模式的時候報錯:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
而在伺服器上的項目正常可用,其原因是由於python的默認編碼設置為ascii,可以用以下命令查看:
import sys
sys.getdefaultencoding()
解決方案有兩種:
1. 在項目啟動文件中添加設置字元為utf8:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
2. 在python的lib文件夾下的sitecustomize.py文件中添加代碼:(我的文件位於/usr/lib/python2.7)
import sys
reload(sys)
sys.setdefaultencoding('utf8')
try:
import apport_python_hook
except ImportError:
pass
else:
apport_python_hook.install()
relaod(sys)一句是必須的
3. Python ascii 編碼 怎麼轉化為utf-8編碼
實現代碼如下:
a='abce'
#printtype(a)
b=a.decode("ascii")
#printtype(b)
c=a.decode("ascii").encode("utf-8")
#printtype(c)
在python中進行編碼轉換都是通過unicode作為中間值實現的。所以要先decode成unicode字元,然後再使用encode轉換成utf-8編碼的str。可以把注釋取消了,看下轉換過程中的類型。
4. python 日文轉utf-8
轉碼就行了。
5. sublime 怎麼修改python 存儲為utf-8
1. 漢化 sublime
[
搜索liblime漢化,下載解壓得到default文件夾
將default文件夾放入 sublime/Data/Packages 中,漢化完成
]
2. 安裝 Package Control 插件
[
方法1. 查看——顯示控制台——粘貼代碼(網上搜到代碼)
方法2. sublime/Data/Packages文件夾中放入另一個文件夾(網路上可以搜索到文件夾)
]
3. 安裝ConvertToUTF8,使得python代碼中的中文能夠正確顯示
[
保證網路暢通
按下「 ctrl + shift + P 」(或者菜單欄:工具——命令面板)調出命令面板
命令面板中輸入「install」,按下「Enter」
在新出現的窗口中輸入ConvertToUTF8 ,按下「Enter」即可完成安裝
]
4. 安裝SublimeREPL
[
保證網路暢通
按下「 ctrl + shift + P 」(或者菜單欄:工具——命令面板)調出命令面板
命令面板中輸入「install」,按下「Enter」
在新出現的窗口中輸入SublimeREPL ,按下「Enter」即可完成安裝
]
5. 配置SublimeREPL(這一步驟可省略,看文末介紹)
[
打開文件sublime/Data/packages/SublimeREPL/config/python/Main.sublime-menu文件
查找到
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
把它復制並列粘貼在原位置下面,稍稍修改剛剛粘貼的部分
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
{"command": "repl_open",
"caption": "Python - my", (我取名python-my,這里你自己取一個名字,顯示在菜單欄中)
"id": "repl_myf5", (我取id為 repl_myf5, 你自己取一個獨一無二的)
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u","$file_basename"], (這里修改添加了一點欄位)
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
保存,至此在菜單欄 工具——SublimeREPL——python中就出現了python-my選項
]
6. 添加源文檔中的欄位
[
打開一個python源文檔,在文檔頭添加欄位 # -*- coding: utf-8 -*- (沒有這個欄位編譯會出錯,python編碼和sublime不同)
選擇工具——SublimeREPL——python——python-my(我取的名字), 即可編譯
]
7. 設置快捷鍵
[
用工具菜單調用編譯太慢,可以設置快捷鍵
選擇菜單preferences——鍵綁定-用戶,在打開的文件中輸入
[ { "keys": ["f5"], (f5是我設置的快捷鍵,可以改,當然還是推薦f5)
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command","args":
{
"id": "repl_myf5", (repl_myf5是我取的id,你填入你的id)
"file":"config/python/Main.sublime-menu"
}
}
]
上面內容包括方括弧,保存後,即可使用設定的快捷鍵
]
8. 要注意的是,調試程序,使用快捷鍵編譯時候,首先 ctrl + s 保存當前文件,編譯的才是最新修改的源文件
(要是誰會在快捷鍵裡面添加 先保存 再編譯 功能請告訴我一下,我不太會配置快捷鍵,thankyou,發送郵件[email protected])
建議 查看——布局——列2 ,2列布局看起來更方便,多編譯幾次右邊會出現很多編譯窗口,關閉編譯窗口 使用ctrl + w 可以快速關閉
9
文末的話,後來發現,不改變SublimeREPL的配置文件,直接新建快捷方式id改成repl_python_run 即可
第一種方法使用起來和python默認IDLE一樣,第二種方法像cmd窗口
6. python文件為什麼加utf-8
python文件加utf-8的原因:
在python中有兩種類型的字元串類型:位元組字元串和unicode的字元串,加上utf-8可以正確的輸出中文,如果不加utf-8,中文輸出之後就是亂碼
示例如下:
執行結果:
更多Python知識,請關註:Python自學網!!
7. 怎麼在Python里使用UTF-8編碼
概述
在python代碼即.py文件的頭部聲明即可
解析
py文件中的編碼
Python 默認腳本文件都是 ANSCII 編碼的,當文件 中有非 ANSCII 編碼范圍內的字元的時候就要使用"編碼指示"來修正一個 mole 的定義中,如果.py文件中包含中文字元(嚴格的說是含有非anscii字元),則需要在第一行或第二行指定編碼聲明:
# -*- coding=utf-8 -*-
#coding=utf-8
# 以上兩種選其一即可
其他的編碼如:gbk、gb2312也可以;否則會出現:
SyntaxError: Non-ASCII character 'xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
python中的編碼與解碼
先說一下python中的字元串類型,在python中有兩種字元串類型,分別是 str 和 unicode,他們都是basestring的派生類;
str類型是一個包含Characters represent (at least) 8-bit bytes的序列;
unicode 的每個 unit 是一個 unicode obj;
在str的文檔中有這樣的一句話:
The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file.
也就是說在讀取一個文件的內容,或者從網路上讀取到內容時,保持的對象為str類型;如果想把一個str轉換成特定編碼類型,需要把str轉為Unicode,然後從unicode轉為特定的編碼類型如:utf-8、gb2312等。
拓展內容
utf-8編碼
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,也是一種前綴碼。它可以用來表示Unicode標准中的任何字元,且其編碼中的第一個位元組仍與ASCII兼容,這使得原來處理ASCII字元的軟體無須或只須做少部分修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他存儲或發送文字的應用中,優先採用的編碼。
UTF-8使用一至六個位元組為每個字元編碼(盡管如此,2003年11月UTF-8被RFC 3629重新規范,只能使用原來Unicode定義的區域,U+0000到U+10FFFF,也就是說最多四個位元組):
1、128個US-ASCII字元只需一個位元組編碼(Unicode范圍由U+0000至U+007F)。
2、帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要兩個位元組編碼(Unicode范圍由U+0080至U+07FF)。
3、其他基本多文種平面(BMP)中的字元(這包含了大部分常用字,如大部分的漢字)使用三個位元組編碼(Unicode范圍由U+0800至U+FFFF)。
4、其他極少使用的Unicode輔助平面的字元使用四至六位元組編碼(Unicode范圍由U+10000至U+1FFFFF使用四位元組,Unicode范圍由U+200000至U+3FFFFFF使用五位元組,Unicode范圍由U+4000000至U+7FFFFFFF使用六位元組)。
對上述提及的第四種字元而言,UTF-8使用四至六個位元組來編碼似乎太耗費資源了。但UTF-8對所有常用的字元都可以用三個位元組表示,而且它的另一種選擇,UTF-16編碼,對前述的第四種字元同樣需要四個位元組來編碼,所以要決定UTF-8或UTF-16哪種編碼比較有效率,還要視所使用的字元的分布范圍而定。不過,如果使用一些傳統的壓縮系統,比如DEFLATE,則這些不同編碼系統間的的差異就變得微不足道了。若顧及傳統壓縮演算法在壓縮較短文字上的效果不大,可以考慮使用Unicode標准壓縮格式(SCSU)。
互聯網工程工作小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼。互聯網郵件聯盟(IMC)建議所有電子郵件軟體都支持UTF-8編碼。
8. python 有沒有utf8Toint功能
應該有
拓展:
Python是一門開源免費、通用型的腳本編程語言,它上手簡單,功能強大,堅持「極簡主義」。 Python類庫(模塊)極其豐富,這使得Python幾乎無所不能,不管是傳統的Web開發、PC軟體開發、Linux運維,還是當下火熱的機器學習、大數據分析、網路爬蟲,Python都能勝任。
Python(KK英語發音:/'paɪθɑn/,DJ英語發音:/ˈpaiθən/)是一種面向對象、直譯式計算機程序設計語言,由Guido van Rossum於1989年底發明。第一個公開發行版發行於1991年。Python語法簡捷而清晰,具有豐富和強大的類庫。
它常被昵稱為膠水語言,它能夠很輕松的把用其他語言製作的各種模塊(尤其是C/C++)輕松地聯結在一起。常見的一種應用情形是,使用python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫。比如3D游戲中的圖形渲染模塊,速度要求非常高,就可以用C++重寫。
9. python怎麼將ascii編碼轉成utf8編碼
python的默認的編碼是ascii:
指的是你寫代碼默認是編碼是ascii
編碼的,
當然你也可以改成你想要的編碼,比如在開頭寫個注釋就用utf8編碼
#
-*-coding:UTF-8-*-
字元串在Python內部的表示是unicode編碼:
這個是python
3
以後才是這樣的吧,