Python輸出漢字字庫(kù)及將文字轉(zhuǎn)換為圖片的方法
用python輸出漢字字庫(kù)
問(wèn)題1:假設(shè)我們知道漢字編碼范圍是0x4E00到0x9FA5,怎么從十六進(jìn)制的編碼轉(zhuǎn)成人類(lèi)可讀的字呢?
問(wèn)題2:怎么把unicode編碼的字寫(xiě)入文件呢,如果直接用open()的話(huà),會(huì)提示UnicodeEncodeError: 'ascii' codec can't encode character u'\u4e00' in position 0: ordinal not in range(128)
問(wèn)題1的答案是用unichr,問(wèn)題2的答案是用codecs。
下面上代碼。
import codecs start,end = (0x4E00, 0x9FA5) with codecs.open("chinese.txt", "wb", encoding="utf-8") as f: for codepoint in range(int(start),int(end)): f.write(unichr(codepoint))
打開(kāi)chinese.txt文件,截圖如下
用python將文本轉(zhuǎn)圖片字庫(kù)
上面提到怎么得到漢字字庫(kù),下面就來(lái)講怎么把一個(gè)一個(gè)的字轉(zhuǎn)成圖片,這在機(jī)器學(xué)習(xí)中會(huì)有用處。
一句話(huà),用pygame渲染文字到圖片上。
下面上代碼。
import os import pygame chinese_dir = 'chinese' if not os.path.exists(chinese_dir): os.mkdir(chinese_dir) pygame.init() start,end = (0x4E00, 0x9FA5)#漢字編碼范圍 for codepoint in range(int(start),int(end)): word = unichr(codepoint) font = pygame.font.Font("msyh.ttc", 22)#當(dāng)前目錄下要有微軟雅黑的字體文件msyh.ttc,或者去c:\Windows\Fonts目錄下找 rtext = font.render(word, True, (0, 0, 0), (255, 255, 255)) pygame.image.save(rtext, os.path.join(chinese_dir,word+".png"))
下面是效果截圖。
相關(guān)文章
如何解決pytorch訓(xùn)練過(guò)程中CPU內(nèi)存溢出問(wèn)題
這篇文章主要介紹了如何解決pytorch訓(xùn)練過(guò)程中CPU內(nèi)存溢出問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python根據(jù)時(shí)間生成mongodb的ObjectId的方法
這篇文章主要介紹了python根據(jù)時(shí)間生成mongodb的ObjectId的方法,涉及Python操作mongodb數(shù)據(jù)庫(kù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例
這篇文章主要介紹了Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)異常捕獲、傳遞、處理等常見(jiàn)操作技巧,需要的朋友可以參考下2019-09-09Python批量啟動(dòng)多線(xiàn)程代碼實(shí)例
這篇文章主要介紹了python批量啟動(dòng)多線(xiàn)程代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02