class String
Public Instance Methods
read_wide_string()
click to toggle source
Read a wide character string up until the first double null, and delete any remaining null characters.
# File lib/ffi/win32/extensions.rb, line 130 def read_wide_string self[/^.*?(?=\x00{2})/].delete(0.chr) end
wincode()
click to toggle source
Convenience method for converting strings to UTF-16LE for wide character functions that require it.
# File lib/ffi/win32/extensions.rb, line 112 def wincode (tr(File::SEPARATOR, File::ALT_SEPARATOR) + 0.chr).encode("UTF-16LE") end
wstrip()
click to toggle source
Read a wide character string up until the first double null, and delete any remaining null characters. If this fails (typically because there are only null characters) then nil is returned instead.
# File lib/ffi/win32/extensions.rb, line 120 def wstrip force_encoding("UTF-16LE").encode("UTF-8", invalid: :replace, undef: :replace) .split("\x00")[0].encode(Encoding.default_external) rescue nil end