| Class | Iconv |
| In: |
ext/iconv/iconv.c
|
| Parent: | Data |
Ruby extension for charset conversion.
Iconv is a wrapper class for the UNIX 95 iconv() function family, which translates string between various encoding systems.
See Open Group’s on-line documents for more details.
Which coding systems are available is platform-dependent.
cd = Iconv.new(to, from)
begin
input.each { |s| output << cd.iconv(s) }
output << cd.iconv(nil) # Don't forget this!
ensure
cd.close
end
Iconv.open(to, from) do |cd|
input.each { |s| output << cd.iconv(s) }
output << cd.iconv(nil)
end
Iconv.iconv(to, from, *input.to_a)
converted_text = Iconv.new('iso-8859-15', 'utf-8').iconv(text)
Shorthand for
Iconv.open(to, from) { |cd|
(strs + [nil]).collect { |s| cd.iconv(s) }
}
| to, from: | see Iconv.new |
| strs: | strings to be converted |
Exceptions thrown by Iconv.new, Iconv.open and Iconv#iconv.
Creates new code converter from a coding-system designated with from to another one designated with to.
| to: | encoding name for destination |
| from: | encoding name for source |
| TypeError: | if to or from aren’t String |
| InvalidEncoding: | if designated converter couldn’t find out |
| SystemCallError: | if iconv_open(3) fails |
Equivalent to Iconv.new except that when it is called with a block, it yields with the new instance and closes it, and returns the result which returned from the block.
Finishes conversion.
After calling this, calling Iconv#iconv will cause an exception, but multiple calls of close are guaranteed to end successfully.
Returns a string containing the byte sequence to change the output buffer to its initial shift state.
Shorthand for
Iconv.open(to, from) { |cd|
(strs + [nil]).collect { |s| cd.iconv(s) }
}
| to, from: | see Iconv.new |
| strs: | strings to be converted |
Exceptions thrown by Iconv.new, Iconv.open and Iconv#iconv.