国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用Python轉換一些常見全角字符為半角

godlong_X / 972人閱讀

摘要:前言最近在爬日文小說的過程中,經常遇到全角甚至和和半角混用,造成我強迫癥強烈不適,就著手專門寫一個腳本處理之思路首先在網上尋找看是否已經有現成庫腳本能做到,尋找一番之后只找到一些思路文章,這里就不重復了有一點要注意,不少文章里是的情況,里面

前言

最近在爬日文小說的過程中,經常遇到全角(甚至和和半角混用),造成我(強迫癥)強烈不適,就著手專門寫一個腳本處理之

思路

首先在網上尋找看是否已經有現成庫/腳本能做到,尋找一番之后只找到一些思路文章,這里就不重復了
有一點要注意,不少文章里是python2的情況,里面用的是unichr函數,到python3就變成了chr函數
直接看代碼吧

def SBC2DBC(char):
    chr_code = ord(char)
    # 處理全角中數字大等于10的情況
    if chr_code in range(9312, 9332):
        return str(chr_code - 9311)
    elif chr_code in range(9332, 9352):
        return str(chr_code - 9331)
    elif chr_code in range(9352, 9372):
        return str(chr_code - 9351)
    elif chr_code in range(8544, 8556):
        return str(chr_code - 8543)

    else:
        if chr_code == 12288: # 全角空格,同0x3000
            chr_code = 32
        if chr_code == 8216 or chr_code == 8217:  # ‘’
            chr_code = 39 # "
        elif chr_code in range(65281, 65374):
            chr_code = chr_code - 65248
        return chr(chr_code)


def SBC2DBC_string(string):
    new_string = ""
    for char in string:
        new_string += SBC2DBC(char)
    return new_string

網上大部分文章里只有全角空格和range(65281,65374)的情況,我時不時能遇到一些比較奇怪的全角數字,比如⑩ ⑽ ⒑ Ⅻ,這里也一并處理了

擴展思考

1 . 某些情況下全角反而是更好的選擇,比如文件名,其不能用*:/等符號,全角就更適合,當然這屬于另一個話題,就不在此展開
2 . 羅馬數字的情況,在現有的全角字符中羅馬數字僅到12,如果某位(喪心病狂的)作者用了多個羅馬數字的話,比如ⅩⅤ,上面的腳本就不合適了(就轉成105),這時候需要先對整個字符串進行處理,找到連接在一起的羅馬數字,然后計算并替換,這更像是數據清洗的范疇,也不展開多說了

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44515.html

相關文章

  • 使Python轉換全角字符半角

    摘要:而在使用英文輸入法時我們將個英文字符所占的位置稱為半角。需要注意的是只有在支持漢字等語言的計算及上才存在全角和半角的概念。由于在規定中半角字符是從開始到結束。當然除了以上的方式外還有其他的方式將全角轉換為半角。 原文地址: http://52sox.com/use-python-t... 關于全角轉換為半角的問題,其實源自在公司的運營人員在輸入法切換的時候選擇了全角,結果導致程序有時候...

    smallStone 評論0 收藏0
  • java字符全角半角轉換

    摘要:序本文展示一下如何將進行半角與全角轉換。術語全角進制轉為進制半角進制轉為進制工具類全角空格半角空格全角半角轉換間隔驗證輸出工具類全角半角字符相互轉換 序 本文展示一下如何將char進行半角與全角轉換。 術語 全角 SBC case Sexagesimal to Binary Converter 60進制轉為2進制 半角 DBC case Decimal to Binary Con...

    CollinPeng 評論0 收藏0
  • python IDLE的簡明圖示使說明(適合初學者)

    摘要:的簡明圖示使用說明是自帶的開發工具,參見下圖在的提示符后輸入代碼,回車,就可以執行此代碼,參見下圖下面演示用的編輯器編寫程序文件并運行程序文件將以為擴展名。輸出在屏幕上顯示數據,將數據保存至文件等。 python IDLE的簡明圖示使用說明 IDLE 是python自帶的開發工具,參見下圖...

    caiyongji 評論0 收藏0
  • JS基礎篇-- JS對全角半角的驗證,相互轉化以及介紹

    摘要:全角占兩個字節。漢字字符和規定了全角的英文字符及國標中的圖形符號和特殊字符都是全角字符。在全角中,字母和數字等與漢字一樣占據著等寬的位置。全角轉換為半角 1.什么是全角和半角? 全角:是一種電腦字符,是指一個全角字符占用兩個標準字符(或兩個半角字符)的位置。全角占兩個字節。 漢字字符和規定了全角的英文字符及國標GB2312-80中的圖形符號和特殊字符都是全角字符。在全角中,字母和數字等...

    YancyYe 評論0 收藏0
  • Python編碼問題及中文解決方案

    摘要:中國人民看到這樣很不錯,于是就把這種漢字方案叫做。結果擴展之后的編碼方案被稱為標準,包括了的所有內容,同時又增加了近個新的漢字包括繁體字和符號。 聲明:文章借鑒自【徹底搞懂 python 中文亂碼問題】 一. 各種編碼的由來 1.1 ASCII編碼 很久很久以前,有一群人,他們決定用8個可以開合的晶體管來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,于是他們把這稱為...

    kevin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<