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


Ruby Converter.convert用法及代碼示例


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

用法

convert(source_string) → destination_string

轉換source_string 並返回destination_string。

source_string 被假定為源的一部分。即 :partial_input=>true 在內部指定。最後應該使用finish方法。

ec = Encoding::Converter.new("utf-8", "euc-jp")
puts ec.convert("\u3042").dump     #=> "\xA4\xA2"
puts ec.finish.dump                #=> ""

ec = Encoding::Converter.new("euc-jp", "utf-8")
puts ec.convert("\xA4").dump       #=> ""
puts ec.convert("\xA2").dump       #=> "\xE3\x81\x82"
puts ec.finish.dump                #=> ""

ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
puts ec.convert("\xE3").dump       #=> "".force_encoding("ISO-2022-JP")
puts ec.convert("\x81").dump       #=> "".force_encoding("ISO-2022-JP")
puts ec.convert("\x82").dump       #=> "\e$B$\"".force_encoding("ISO-2022-JP")
puts ec.finish.dump                #=> "\e(B".force_encoding("ISO-2022-JP")

如果發生轉換錯誤,則會引發 Encoding::UndefinedConversionError Encoding::InvalidByteSequenceError Encoding::Converter#convert 不提供從這些異常中恢複或重新啟動的方法。如果要處理這些轉換錯誤,請使用 Encoding::Converter#primitive_convert

相關用法


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