python字元對映表和字元替換
python中有一個內建函式maketrans()
可以對兩個字串進行字元對映,建立出對映表。
結構如下:
str.maketrans(intab,outtab)
當使用該函式時,將會把intab中的字串對out字串中的字元進行一一對應。
而使用translate()函式則可以利用對映表字元對指定字串的字元進行替換。
結構如下:
str.translate(table)
示例:
str1="abcdefghijklmnopqrstuvwxyz"
str2="qwertyuiopasdfghjklzxcvbnm"
table=str.maketrans(str1,str2)
str="sword art online"
print(str.translate(table))#==>lvgkr qkz gfsoft
上面的例子使用了這兩個函式寫了一個簡單的加密程式。其中str1是函式str.maketrans(intab,outtab)
中的intab,而str2是str.maketrans(intab,outtab)
中的outtab。
不過這種加密方法有一個問題。就是intab與outtab所代表的的字串的長度必須一致,且各自的字串中的字元必須唯一,否則解密時容易出錯。
示例:
str1="abcdefghijklmnopqrstuvwxyz"
str2="qwertyuiopasdfghjklzxcvbnm"
table1=str.maketrans(str1,str2)
table1_1=str.maketrans(str2,str1)
str="sword art online"
jiami=str.translate(table1)
jiemi=jiami.translate(table1_1)
print(jiami)#==>lvgkr qkz gfsoft
print(jiemi)#==>sword art online
相關文章
- javascript解析unicode字元,替換成正常字元JavaScriptUnicode字元
- perl替換特殊字元字元
- vim替換所有字元字元
- JS RegExp 替換字元JS字元
- mysql和mongodb替換欄位中某字元MySqlMongoDB字元
- 正則替換 修改字元 去除空格字元
- JavaScript replace()替換字串中指定字元JavaScript字串字元
- linux: awk 指定位置替換字元Linux字元
- js做資料的轉義字元替換JS字元
- PAT-B 1042 字元統計 【對映】字元
- vue 表頭指定字元換行Vue字元
- Mysql替換欄位中指定字元(replace 函式)MySql字元函式
- [20220105]sqlplus &1替換最大支援239個字元.txtSQL字元
- js用正規表示式將英文引號字元替換為中文引號字元JS字元
- 使用正規表示式替換報表名稱中的特殊字元(推薦)字元
- 【LeetCode】424. 替換後的最長重複字元LeetCode字元
- Python拆分列中文和 字元Python字元
- php一招搞定替換指定字元(大小寫不敏感)PHP字元
- 解決java“錯誤:編碼GBK的不可對映字元”Java字元
- python字元畫Python字元
- python教程3.3:字元和編碼Python字元
- 字元編碼轉換字元
- Linux給檔案內容每行指定字元資料脫敏替換Linux字元
- 正規表示式 字元和字元類字元
- 5、中文的輸出(GBK不可對映字元的解決方案)字元
- Python列表數字元素加權和Python字元
- 滑動視窗3.替換後最長重複字元子串字元
- URL地址特殊字元轉換字元
- 1.3.0 Python 字元編碼Python字元
- Python之字元型別Python字元型別
- maven編譯遇到"編碼GBK的不可對映字元"警告的處理Maven編譯字元
- Python對HTML跳脫字元進行反轉義PythonHTML字元
- Linux命令列:對內容進行大小寫字元轉換 Linux命令列字元
- Python基礎之:struct和格式化字元PythonStruct字元
- c++中字元、字串和數字間的轉換C++字元字串
- 基於OpenCV和Python的車牌提取和字元分割OpenCVPython字元
- 11.8 python之字元型別Python字元型別
- Python 列印中文字元Python字元