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