本文簡要介紹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 Converter.inspect用法及代碼示例
- Ruby Converter.primitive_errinfo用法及代碼示例
- Ruby Converter.convert用法及代碼示例
- Ruby Converter.search_convpath用法及代碼示例
- Ruby Converter.last_error用法及代碼示例
- Ruby Converter.primitive_convert用法及代碼示例
- Ruby Converter.putback用法及代碼示例
- Ruby Converter.replacement用法及代碼示例
- Ruby Converter.replacement =用法及代碼示例
- Ruby Converter.new用法及代碼示例
- Ruby Converter.finish用法及代碼示例
- Ruby Converter.convpath用法及代碼示例
- Ruby Converter.asciicompat_encoding用法及代碼示例
- Ruby Context.save_history=用法及代碼示例
- Ruby Constants模塊用法及代碼示例
- Ruby Continuation類用法及代碼示例
- Ruby Context.echo_on_assignment?用法及代碼示例
- Ruby Config.get_value用法及代碼示例
- Ruby Context.echo?用法及代碼示例
- Ruby Context.echo_on_assignment用法及代碼示例
- Ruby Config.to_s用法及代碼示例
- Ruby Constructive類用法及代碼示例
- Ruby Constructive.each用法及代碼示例
- Ruby Context.auto_indent_mode用法及代碼示例
- Ruby ConditionVariable類用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Converter.insert_output。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。