當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Converter.insert_output用法及代碼示例


本文簡要介紹ruby語言中 Encoding::Converter.insert_output 的用法。

用法

insert_output(string) → nil

將字符串插入編碼轉換器。該字符串將被轉換為目標編碼並在以後的轉換中輸出。

如果目標編碼是有狀態的,則根據狀態轉換字符串並更新狀態。

僅當發生轉換錯誤時才應使用此方法。

ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.primitive_convert(src, dst)    #=> :undefined_conversion
puts "[#{dst.dump}, #{src.dump}]"   #=> ["HIRAGANA LETTER A is ", "."]
ec.insert_output("<err>")
p ec.primitive_convert(src, dst)    #=> :finished
puts "[#{dst.dump}, #{src.dump}]"   #=> ["HIRAGANA LETTER A is <err>.", ""]

ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
src = "\u{306F 3041 3068 2661 3002}" # U+2661 is not representable in iso-2022-jp
dst = ""
p ec.primitive_convert(src, dst)    #=> :undefined_conversion
puts "[#{dst.dump}, #{src.dump}]"   #=> ["\e$B$O$!$H".force_encoding("ISO-2022-JP"), "\xE3\x80\x82"]
ec.insert_output "?"                # state change required to output "?".
p ec.primitive_convert(src, dst)    #=> :finished
puts "[#{dst.dump}, #{src.dump}]"   #=> ["\e$B$O$!$H\e(B?\e$B!#\e(B".force_encoding("ISO-2022-JP"), ""]

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Converter.insert_output。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。