如何獲取Ruby串的兼容編碼列表? (MRI 1.9.3)Ruby串,獲取兼容編碼列表
用例:我有一些用戶提供的字符串,用UTF-8編碼。理想情況下,我需要將它們轉換爲ISO/IEC 8859-1
(8位),但是當出現一些特殊字符時,我還需要退回到unicode。
另外,有沒有更好的方法來實現這一目標?也許我正在測試錯誤的東西。
編輯 - 添加更多細節
坦克的答案,我也許應該補充一些背景。 我知道如何執行編碼轉換。
我正在尋找一種方法來快速找出一個字符串是否可以安全地編碼爲另一種編碼,或者,以另一種方式(以及相當錯誤的方式),什麼是最小編碼以支持所有字符那個字符串。
只是轉換字符串16字節是不是一種選擇,因爲他們將作爲短信發送,並把它們轉換成一個16字節編碼削減160可用字符的數量下降到70
我僅當它們包含ISO/IEC 8859-1
中不支持的特殊字符時才需要將它們轉換爲16字節。
這可能有助於一點點:http://yehudakatz.com/2010/05/05/ruby-1-9-encodings-a-primer-and-the-solution-for- rails/ – Casper
這不是一個用例...首先使用unicode編碼實際上是相同的,但更簡單 – Esailija
@Esailija謝謝,如果我能做到的話。首先,我不能使用unicode,因爲我需要最小化字符串的大小。我正在與[SMPP](http://en.wikipedia.org/wiki/SMPP)一起工作,需要從字符串中構建一個字節緩衝區。我應該使用16位編碼作爲最後的手段。 – tompave