導航:首頁 > 編程語言 > python的編碼咋運行

python的編碼咋運行

發布時間:2022-04-17 00:05:34

⑴ 用python寫好的程序如何在其他計算機上運行

"直接用輸入法打出來的字"
--
這里含好幾個過程.
(1)當你用鍵盤打字時,從鍵盤進入計算機的是ascii碼序列.
(2)「輸入法」把
ascii碼序列
轉換成
輸入法
自己規定的
碼.
(3)你在一個窗上看到的東西,例如
notepad
的文本編輯窗,wordpad
的文本編輯窗,或
dos
黑窗(控制台命令窗)那是

「輸入法自己規定的碼」顯示出來,這里有一個編碼到字體(font)到bitmap點陣圖形的轉換.只有當它們匹配時才能顯示出有意義的
字的形狀.否則看上去是「亂碼」.
以dos
黑窗為例,只有正確設置它的
所謂
代碼頁(code
page)
,才能顯示出有意義的字形.
gbk的code
page是cp936;
big5的code
page是cp950;
gb2312的code
page是cp20936;
dos
命令
chcp
不帶參數
可以顯示
當前
「代碼頁」,加參數可以改變
「代碼頁"
例如:chcp
936
例如:chcp
437
(4)從文本編輯窗

存放的文件
也有
代碼的轉換.
例如,notepad,可以存放為
unicode
小端碼,unicode
大端碼,utf-8碼.
unicode
文件會在文件頭自動添加
unicode
bom
(
byte-order
mark)
---
所以,直接用輸入法打出來的字是什麼編碼的呢,具體情況具體分析,不可一概而論.

⑵ Python 源程序編碼注意事項

默認情況下,Python 源文件是 UTF-8 編碼。在此編碼下,全世界大多數語言的字元可以同時用在字元串、標識符和注釋中 — 盡管 Python 標准庫僅使用 ASCII 字元作為標識符,這只是任何可移植代碼應該遵守的約定。如果要正確的顯示所有的字元,你的編輯器必須能識別出文件是 UTF-8 編碼,並且它使用的字體能支持文件中所有的字元。
你也可以為源文件制定不同的字元編碼。為此,在 #! 行(首行)後插入至少一行特殊的注釋行來定義源文件的編碼:
# -*- coding: encoding -*-
通過此聲明,源文件中所有的東西都會被當作用 encoding 指代的 UTF-8 編碼對待。在 Python 庫參考手冊 codecs 一節中你可以找到一張可用的編碼列表。
例如,如果你的編輯器不支持 UTF-8 編碼的文件,但支持像 Windows-1252 的其他一些編碼,你可以定義:
# -*- coding: cp-1252 -*-
這樣就可以在源文件中使用 Windows-1252 字元集中的所有字元了。這個特殊的編碼注釋必須在文件中的 第一或第二 行定義。

⑶ 怎麼在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編碼。

⑷ Python中怎麼定義中文編碼

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

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

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

⑸ 程序小白,問一下php網站想要運行Python文件需要怎麼做

關於PHP調用Python數據傳輸問題
這是以前大學時做項目出現的問題,現在把它挪上來,希望給遇到問題的未來大佬給出一些小的思路,請大佬們不要大意的幫我改正,如果出現問題或者有更好的解決方法,希望大家可以給出,謝謝!
以前小組開展項目實訓,我們小組選擇的是大數據分析,其中有一個用python進行文本分析之後對用戶輸入的數據進行分析,然後輸出對應的崗位及其他。要求是前端將文本要求傳到後台php,php調用python程序處理,再將數據傳給php,然後再傳到前端,進行下一步處理。結果python傳回的數據,在前端顯示亂碼了,而且得出的結果與單獨運行python代碼完全不同,一句話,就是php調用python程序期間出錯了。
我很認真的檢查了好幾遍,確定自己php和python所有的編碼都是用的utf-8編碼,所以這一點是毋庸置疑的,那麼問題究竟出在哪呢?php調用python語句是
$job = "有責任心,擅長JAVA";//傳入的文本信息
$area = 'E:/text/sim_str.py';//Python程序的地址
$cmd = system("python3 $area 2>C:/Users/Administrator/Desktop/2.txt $job",$ret);//2>是將報錯內容定位到這個文件,$ret是一個返回參數,0是正常,1是出錯。

最後經過多次的測試,我發現傳過去時對文字的編碼出現了問題,應該不是UTF-8編碼了。有位大神說,這是因為windows系統會自己對傳輸的信息進行再次編碼。然後 我想直接改編碼,結果這個python3編碼改變出現了問題。最後我的解決方案是不通過系統傳送,而是直接通過第三方資料庫。雙方都調用資料庫。一切都可以解決了。
PS:後來又遇見過這種問題,我將python代碼進行了修改,讓它最終可以直接只傳遞數字,再在前端對數字進行判斷。

⑹ Python為什麼一運行就是亂碼

可能是編碼問題,開頭加上coding:utf-8試試。

⑺ python中前後台怎麼進行編碼轉換

  1. coding聲明的編碼,和你py文件本身的編碼,要一致。

  2. 你py代碼中,所要處理的字元串,即你的html的編碼,你也要清楚

  3. 然後才可以正常的,decode或encode,才能得到你要的unicode字元串,某種編碼的字元串。

  4. 你沒有解釋清楚你的背景,所以沒法幫你。

  5. 相關的原理和示例代碼,我早就寫了教程了。


  6. 感興趣的,自己google搜:

  7. 【整理】關於HTML網頁源碼的字元編碼(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解釋
  8. Python專題教程:字元串和字元編碼
  9. 其中有很多相關內容的解釋,比如:
  10. 【總結】Python2.x中常見字元編碼和解碼方面的錯誤及其解決辦法

⑻ 用什麼工具運行python代碼

python中常見的ide

Sublime Text

Sublime Text 是開發者中最流行的編輯器之一,多功能,支持多種語言,而且在開發者社區非常受歡迎。Sublime 有自己的包管理器,開發者可以使用TA來安裝組件,插件和額外的樣式,所有這些都能提升你的編碼體驗。

推薦學習《python教程》

PyCharm

PyCharm是來自JetBrains公司的全功能python開發環境。過去的15年裡JetBrains一直致力於發展頂級的開發工具,旨在讓開發工作變得輕松和愉快。

PyCharm是專業的python集成開發環境,有兩個版本。一個是免費的社區版本,另一個是面向企業開發者的更先進的專業版本。PyCharm的普及可以從這一事實來衡量,即有很多大品牌公司用戶,像Twitter,Groupon,Spotify,eBay和Telefonica等都在用PyCharm。PyCharm專業版本支持更多高級的功能,比如遠程開發功能、資料庫支持以及對web開發框架的支持等等。

我最喜歡PyCharm的原因是因為它支持很多的第三方web開發框架,比如Django、 Pyramid、web2py、google app engine 和 Flask,這些也使得它成為了一個完整的快速應用集成開發環境。

WingIDE

WingIDE是個相當優秀的 IDE;其編輯器包括大量語言的語法標簽高亮顯示,雖然它只是個面向 Python 的工具。源代碼瀏覽器對瀏覽項目或模塊非常實用(表現在可導航源代碼和文檔行摘要中)。雖然沒有監視器,但調試器設計得很好。編輯器有優秀的命令自動完成和函數跳轉列表,但是沒有代碼合並。面向項目風格的 IDE 對於大型產品非常有用(在這方面,除了 Komodo 以外,它是大多免費 IDE 中較好的)。總體的界面就像增強的 Idle,使用了與許多 TK 和 XWindow 界面類似的「多窗口」排列方式。我喜歡使用對接和嵌入(這方面,並不是過多使用 MS Visual Studio 造成的),但不同的開發人員可能喜歡不同風格的窗體。WingIDE 是個很有前途的開發環境。

Vim

Vim 是高級文本編輯器,旨在提供實際的 Unix 編輯器'Vi'功能,支持更多更完善的特性集。Vim編輯器最重要的功能就是它不要求使用滑鼠(除了GUI版本外)。一開始,你可能會覺得這是個非常糟糕的做法,但是只要你投入時間——是的,這很花時間——學習快捷組合鍵,就可以大幅提升工作流的速度。Vim 不需要花費太多的學習時間,一旦你需要一個無縫的編程體驗,那麼就會把 Vim 集成到你的工作流中。

Eric5

Eric5 是一個集成了項目管理功能的 Python 集成開發環境。提供無限制數量的編輯器、集成的 Python Shell、集成調試器、集成對包括 Subversion 和 Mercurial 版本控制系統的支持。集成單元測試等等。可通過插件系統來進行功能擴展,與Eric4 相比,Eric5 是基於 Python 3 的變種。

⑼ python unicode編碼

python unicode編碼:

下面的代碼創建了一個Unicode字元串,用UTF-8編碼器將它編碼,然後寫入到一個文件中去,接著把數據從文件中讀回來,解碼成Unicode字元串對象,最後,列印出Unicode字元串,用以確認程序正確地運行。

在Linux中編寫,在VIM中輸入如下代碼,保存為uniFile.py

#/home/xiaopeng/python/code/uniFile.py
'''
:Writes
aUnicodestringtoafileinutf-8andreadsitbackin
'''
CODEC='utf-8'編碼方式
FILE='unicode.txt'要存的文件名
hello_out=u"Helloworld "創建了一個Unicode格式的字元串
bytes_out=hello_out.encode(CODEC)用UTF-8編碼
f=open(FILE,'w')
f.write(bytes_out)寫入指定文件中
f.close()
f=open(FILE,'r')
bytes_in=f.read()讀取
f.close()
hello_in=bytes_in.decode(CODEC)解碼
printhello_in列印

在終端中輸入:python uniFile.py

結果列印出 Hello world

然後在python目錄下會發現多了一個名為unicode.txt的文件,用cat命令查看一下,發現裡面的內容和列印的結果一樣.

把Unicode應用到實際中注意一下四點:

1程序中出現字元串時一定要加一個前綴u

2不要用str()函數,用Unicode()代替

3 不要用過時的string模塊。如果傳給它非ASCII碼,它會把一切搞砸。

4 不到必須時不要在你的程序里編解碼Unicode字元,只在你要寫入文件或者資料庫或者網路時,才調用encode()函數和decode()函數。

⑽ python有哪幾種編碼方式

第一種:ASCII碼。是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,它是現今最通用的單位元組編碼系統,並等同於國際標准IS/IEC
646。
由於計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機李,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母a的編碼是97,後128個稱為擴展ASCII碼。
第二種:GBK和GB2312。能在計算機中顯示中文字元是至關重要的,然而ASCII表裡一個偏旁部首都沒有,所以我們需要一個關於中文和數字對應的關系表,一個位元組只能最多表示256個字元,用處理中文顯然一個位元組是不夠的,所以我們需要採用兩個位元組來表示,所以中國制定了GB2312編碼,用來將中文編寫進去。
第三種:Unicode。因為各個國家都有一套自己的編碼,所以無法避免沖突,因此Unicode誕生了。它可以把所有語言都統一到一套編碼里,這樣就不會存在亂碼問題了,現代操作系統和大多數編程語言都直接支持Unicode。
第四種:UFT-8。基於節約的原則,出現了把Unicode編碼轉化為可變長編碼的UTF-8編碼。而UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成一個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組,如果你要傳輸的文本包含大量英文字元,用UTF-8編碼就能節省空間。

閱讀全文

與python的編碼咋運行相關的資料

熱點內容
php獨立運行 瀏覽:530
手機sh執行命令 瀏覽:727
雲伺服器的角色 瀏覽:733
單片機頻率比例 瀏覽:840
我的世界伺服器如何關閉正版驗證 瀏覽:504
如何查roid伺服器上的 瀏覽:130
安卓手機主板如何撬晶元不掉電 瀏覽:249
php各個框架的優缺點 瀏覽:101
php1100生成數組 瀏覽:359
以後做平面設計好還是程序員好 瀏覽:552
雲伺服器應用管理 瀏覽:438
飢荒雲伺服器搭建過程 瀏覽:186
可編程式控制制器優點 瀏覽:99
壓縮垃圾車說明書 瀏覽:28
五輪書pdf 瀏覽:802
單片機定時流水中斷系統流水燈 瀏覽:701
u8如何連接伺服器配置 瀏覽:68
動力在於緩解壓力 瀏覽:867
報考科一用什麼app 瀏覽:346
knn人臉識別演算法 瀏覽:431