2017-06-04 38 views
1

我有這樣的形象: font image蟒蛇 - 字符串中的字體圖像座標

我要像一個字符串轉換:

text = "Açúcar" 

strcoord = [] 
for char in text: 
    code = ord(char) 
    y = code//16 
    x = code%16 
    strcoord += [[x,y]] 

print(strcoord) 
:「Açúcar山」上的圖像

我想這個座標

,其結果是:

[[1,4],[7,14],[10,15],[3,6],[1,6],[2 ,7]]

但是重音的座標是錯誤的?

有一個快速的方法來做到這一點?

回答

0

圖像映射中字符的順序與unicode字符值的順序不匹配:請參閱'Basic Latin' and 'Latin 1 Supplement'代碼頁。 ord()函數將使用該順序。

您的圖像地圖正在使用舊的IBM 437映射。您可以嘗試進行以下更改以將字符轉換爲正確的整數,以用於圖像映射。

text = "Açúcar" 

strcoord = [] 
for char in text: 
    code = int(char.encode('ibm437')[0]) 
    y = code//16 
    x = code%16 
    strcoord += [[x,y]] 

print(strcoord) 

編碼函數返回一個字節數組,其中第0個位置需要的整數。

這導致[[1, 4], [7, 8], [3, 10], [3, 6], [1, 6], [2, 7]]這應該是您正在尋找的座標。