改變奇數(非常高)ASCII字符我處理一些HTML,它有一些奇怪的字符(這給換行,當我使用print命令),所以我做了以下內容:在刮HTML
d.each_char do |c|; puts c + " " + c.ord.to_s; end
我發現它是一個ord爲9644的字符。看起來這是Unicode黑色矩形。還有一個ASCII 219看起來很相似,所以我想把它映射到這個ASCII碼。我試過了:
d = d.gsub(9644.chr, 219.chr)
這給了我一個錯誤「Exception:RangeError:9644 out of char range」。
有什麼辦法,我可以做到這一點(即改變所有ord.9644到ord.219。
或者可以更改所有字符的ASCII超過255「?」,即使我可以這將是很好要知道如何做到這一點
問候, 本
爲什麼你需要更換角色? – Stefan
[ASCII](https://en.wikipedia.org/wiki/ASCII)是7位字符與碼點0-127設置。還有[擴展ASCII](https://en.wikipedia.org/wiki/Extended_ASCII),其是關於各種8位編碼,即ASCII碼點加128-255的涵蓋性術語。請指定您指的是哪種編碼。 – Stefan
您需要知道HTML文檔的編碼。它可能有一個元字符集標記,或者如果通過HTTP傳遞的話,它可以包含一個Content-Type標題,該標題說明要使用哪種編碼。無論如何,你必須用它所寫的編碼讀取它。如果您沒有被明確告知或通過規範,慣例或其他方式告知,那就是數據丟失。 –