python 實現中文字串對齊的方法

2021-10-23 12:23:02 字數 927 閱讀 4178

英文和數字通常是半形字元,在輸出和顯示時只占用1個字元位置,而中文是全形字符,乙個字元占用2個字元位。所以在螢幕上顯示時寬度會不一致。格式化輸出額空格只占用乙個字元位置,所以在當字串內有中文時,會無法對齊。

所以一種比較直接的方法就是把所有半形字元轉為全形字符輸出:

def

aligns

(string,length=20)

: difference = length -

len(string)

# 計算限定長度為20時需要補齊多少個空格

if difference ==0:

# 若差值為0則不需要補

return string

elif difference <0:

print

('錯誤:限定的對齊長度小於字串長度!'

)return

none

new_string =

'' space =

' 'for i in string:

codes =

ord(i)

# 將字元轉為ascii或unicode編碼

if codes <=

126:

# 若是半形字元

new_string = new_string +

chr(codes+

65248

)# 則轉為全形

else

: new_string = new_string + i # 若是全形,則不轉換

return new_string + space*

(difference)

# 返回補齊空格後的字串

呼叫方法:

aligns(要對齊的字串,占用長度)

Python擷取中文字串

在gbk編碼下,請編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串,但是要保證漢字不被截半個,同時忽略字串中的數字後輸出最終結果 coding gbk import re deffunc s,length g join re.findall r d s 這裡也可以用g fi...

中文文字對齊 關於Word對齊的問題

文字無法對齊頁面頂端 最近有小夥伴問我乙個問題,文件裡面的文字對齊不了,文字前面一直留了些空白,文字不能直接在頂端寫,效果如下圖。拿到文件一看,是頁面設定對齊方式的問題,我們設定頂端對齊就好了。切換到 布局 選項卡,單擊 頁面設定 右下角的小三角 切換至 頁面設定 對話方塊中的 布局 選項卡,設定 ...

python 解決中文字串的問題

在用python處理資料庫中文字符集時遇到資料庫的個別字段只有一半。結合網上朋友給的思路,使用以下方法進行處理,如果是完整的中文字元似乎是兩個位元組,並且第乙個位元組大於128。引數test 輸入字串是gb18030 def cutstr test vlist i 0while true if i ...