當前位置:首頁 » 編程語言 » python位元組串

python位元組串

發布時間: 2022-08-25 20:39:55

『壹』 使用python按位元組分割字元串

按行讀取之後按原文件編碼類型解碼,插入完後按UTF-8解碼寫入文件

以源文件為gbk為例,假設每5字元插入|

python2

withopen('target','w')asf:
forlineopen('source').readlines():
line=line.decode('gbk')
line='|'.join([line[i:min(i+5,len(line))]foriinrange(0,len(line),5)])
f.write(line.encode('utf-8'))

python3

withopen('target','w',encoding='utf-8')asf:
forlineopen('source',encoding='gbk').readlines():
line=line
line='|'.join([line[i:min(i+5,len(line))]foriinrange(0,len(line),5)])
f.write(line)

『貳』 新手,求教關於python3編碼的問題

你需要明白兩個概念:

  1. 什麼叫字元串、位元組串

    在Python中字元串是指一串可以展示在終端里、供人閱讀的字元,至於字元採用什麼編碼並不重要,同樣的文字,可能是用Unicode、UTF-8或GBK編碼,但列印在終端中的內容相同,那麼就認為是同一串字元串。而位元組串是指將字元串通過某種編碼轉換得到的一串位元組,同樣一個字元串,使用不同的編碼轉換後得到的位元組串可能完全不同。

  2. 什麼叫encode、decode

    encode中文為編碼,顧名思義,是將字元串以某種編碼形式編碼得到位元組串的過程;相反,decode中文為解碼,是將位元組串以某種編碼形式翻譯得到字元串的過程。

a是一個字元串,它的內容是「周傑倫」這三個字,類型是str;b = a.encode('utf-8')是將a以utf-8形式編碼得到的位元組串,它的內容是「周傑倫」這三個字的utf-8編碼,類型是bytes

『叄』 python3如何把字元串轉換成系統默認編碼

python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如「sys.setdefaultencoding」;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。
另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。
答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如

1

file.write("GBK的中文".encode("GBK"))

python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。

『肆』 python定義一個單位元組類型數組

Python中沒有數組的數據結構,但列表很像數組。
和字元串一樣,位元組類型也是不可變序列,而位元組數組就是可變版本的位元組,它們的關系就相當於list與tuple。
位元組(位元組數組)是二進制數據組成的序列,其中每個元素由8bit二進制即1byte亦即2位十六進制數亦亦即0~255組成,位元組是計算機的語言,字元串是人類語言,它們之間通過編碼表形成一一對應的關系。

『伍』 python struct 格式符b 為什麼是兩個位元組

整個代碼是把data每兩個字元變成一個位元組,比如"7F"變成一個值127的byte。struct.pack()參數B指按Byte轉換。輸出的byte_dat是一個位元組串,類似b"\xEF"。
+號的含義因該是拼接,把後轉換的一個位元組拼接在之前積累的數據後面。b""前綴是位元組串,不是字元串。

『陸』 python中怎樣將位元組串寫入文件里

with open('output.txt', 'w') as fout:
print >>fout, string_you_want_output

『柒』 在Python中如何將字元串轉換成位元組對象

python 怎麼將字元串轉換為byte
1、command元素——貌似沒什麼效果。是不是支持有問題
表示命令按鈕,比如單選按鈕、復選框或按鈕。
只有當 command 元素位於 menu 元素內時,該元素才是可見的。否則不會顯示這個元素,但是可以用它規定鍵盤快捷鍵。。
<menu>
<command onclick="alert('Hello World')">
Click Me!</command>
</menu>

2、details標簽 目前只有 Chrome 支持 details 標簽
用於描述文檔或文檔某個部分的細節 。
可與 summary 標簽配合使用,summary可以為 details 定義標題。標題是可見的,用戶點擊標題時,會顯示出 details。summary應該是details的第一個子元素。

『捌』 Python 2.7 中位元組字元串的處理求助

唔,你也沒寫具體問題…… 給你個python的字元串處理匯總吧。


str='python String function'

生成字元串變數str='python String function'

字元串長度獲取:len(str)
例:print '%s length=%d' % (str,len(str))

一、字母處理
全部大寫:str.upper()
全部小寫:str.lower()
大小寫互換:str.swapcase()
首字母大寫,其餘小寫:str.capitalize()
首字母大寫:str.title()
print '%s lower=%s' % (str,str.lower())
print '%s upper=%s' % (str,str.upper())
print '%s swapcase=%s' % (str,str.swapcase())
print '%s capitalize=%s' % (str,str.capitalize())
print '%s title=%s' % (str,str.title())

二、格式化相關
獲取固定長度,右對齊,左邊不夠用空格補齊:str.ljust(width)
獲取固定長度,左對齊,右邊不夠用空格補齊:str.ljust(width)
獲取固定長度,中間對齊,兩邊不夠用空格補齊:str.ljust(width)
獲取固定長度,右對齊,左邊不足用0補齊
print '%s ljust=%s' % (str,str.ljust(20))
print '%s rjust=%s' % (str,str.rjust(20))
print '%s center=%s' % (str,str.center(20))
print '%s zfill=%s' % (str,str.zfill(20))

三、字元串搜索相關
搜索指定字元串,沒有返回-1:str.find('t')
指定起始位置搜索:str.find('t',start)
指定起始及結束位置搜索:str.find('t',start,end)
從右邊開始查找:str.rfind('t')
搜索到多少個指定字元串:str.count('t')
上面所有方法都可用index代替,不同的是使用index查找不到會拋異常,而find返回-1
print '%s find nono=%d' % (str,str.find('nono'))
print '%s find t=%d' % (str,str.find('t'))
print '%s find t from %d=%d' % (str,1,str.find('t',1))
print '%s find t from %d to %d=%d' % (str,1,2,str.find('t',1,2))
#print '%s index nono ' % (str,str.index('nono',1,2))
print '%s rfind t=%d' % (str,str.rfind('t'))
print '%s count t=%d' % (str,str.count('t'))


四、字元串替換相關
替換old為new:str.replace('old','new')
替換指定次數的old為new:str.replace('old','new',maxReplaceTimes)
print '%s replace t to *=%s' % (str,str.replace('t', '*'))
print '%s replace t to *=%s' % (str,str.replace('t', '*',1))


五、字元串去空格及去指定字元
去兩邊空格:str.strip()
去左空格:str.lstrip()
去右空格:str.rstrip()
去兩邊字元串:str.strip('d'),相應的也有lstrip,rstrip
str=' python String function '
print '%s strip=%s' % (str,str.strip())
str='python String function'
print '%s strip=%s' % (str,str.strip('d'))

按指定字元分割字元串為數組:str.split(' ')

六、默認按空格分隔
str='a b c de'
print '%s strip=%s' % (str,str.split())
str='a-b-c-de'
print '%s strip=%s' % (str,str.split('-'))


七、字元串判斷相關
是否以start開頭:str.startswith('start')
是否以end結尾:str.endswith('end')
是否全為字母或數字:str.isalnum()
是否全字母:str.isalpha()
是否全數字:str.isdigit()
是否全小寫:str.islower()
是否全大寫:str.isupper()
str='python String function'
print '%s startwith t=%s' % (str,str.startswith('t'))
print '%s endwith d=%s' % (str,str.endswith('d'))
print '%s isalnum=%s' % (str,str.isalnum())
str='pythonStringfunction'
print '%s isalnum=%s' % (str,str.isalnum())
print '%s isalpha=%s' % (str,str.isalpha())
print '%s isupper=%s' % (str,str.isupper())
print '%s islower=%s' % (str,str.islower())
print '%s isdigit=%s' % (str,str.isdigit())
str='3423'
print '%s isdigit=%s' % (str,str.isdigit())

『玖』 Python位元組,每位元組的異或解密問題,怎麼解決

1.先將int轉為hex字元串,去掉'0x',然後對位數判斷,比如1-->0x01(而不是0x1),22-->0x16;

2.直接將字元串轉為bytearray,比如'0x123456'-->0x12x34x56(忽略轉義表示,此處只是討論使用方法);

3.直接將bytearray轉為bytes

defhexPos(num):
val=hex(int(num))[2:]
iflen(val)%2!=0:
val='0'+val
y=bytearray.fromhex(val)
iflen(y)!=4:
x=bytearray(4-len(y))
returnbytes(x+y)

『拾』 Python 讀取的位元組流轉換為字元串

不需要unpack,使用decode即可
例如我在一個文件中寫入'a\x00b\x00c\x00d\x00'
然後使用binary
stream打開文本,使用decode轉換即可
with
open(
'data'
,'rb'
)
as
f:
print(
f.read(
).decode(
'UTF-16'
)
)
你只要將讀取的位元組流轉換成str替換f.read(
)即可

熱點內容
mc連點腳本 發布:2025-01-17 15:43:37 瀏覽:611
擇吉日推演算法 發布:2025-01-17 15:29:41 瀏覽:87
努比亞怎麼查看wifi密碼 發布:2025-01-17 15:29:36 瀏覽:202
簡單游使用腳本 發布:2025-01-17 15:23:57 瀏覽:580
linuxcompare 發布:2025-01-17 15:13:24 瀏覽:433
不能顯示隱藏的文件夾 發布:2025-01-17 15:13:24 瀏覽:530
學生作業管理系統源碼 發布:2025-01-17 14:42:31 瀏覽:172
hue編譯器 發布:2025-01-17 14:42:26 瀏覽:908
馬自達編程 發布:2025-01-17 14:21:41 瀏覽:495
android語音demo 發布:2025-01-17 14:19:25 瀏覽:703