1
我試圖轉義一個包含非ASCII字符的字符串,用於JSON 和日誌文件,使用Ruby 1.9.3pl194。事情消耗JSON,所以我需要產生一個轉義版本,但不能處理非ASCII ...在Ruby中轉義Unicode字符時沒有得到額外的雙引號
a = "Abc\u00eddef"
puts a
puts a.inspect
生產:
Abcídef
"Abc\u00EDdef"
注意,第二輸出包括不需要雙引號,我不想要引號,因爲我只想將字符串Abc\u00eddef
寫入文件;它不僅僅用於JSON字符串。
同樣的事情發生,如果我嘗試使用ActionSupport::JSON.decode(b)
我知道我可以做
puts a.inspect[1..-2]
但是這是一種醜,肯定有這樣做,而不必剝離報價的方式?
這是普通的老紅寶石,所以我沒有.html_safe
來在軌道(不知道這是否會工作或不管)。
剝離非ASCII字符可能會導致生成的文本無法讀取或將其變爲無意義。你需要保持它的意義嗎?您可以使用HTML編碼,將所有非ASCII轉換爲安全的東西,但如果需要,您可以恢復這些值。 –