当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。