Class: ASEPalette::PaletteBinary::ASEBinData::String16Null
- Inherits:
-
BinData::Primitive
- Object
- BinData::Primitive
- ASEPalette::PaletteBinary::ASEBinData::String16Null
- Defined in:
- lib/ase-palette/palette_binary.rb
Instance Method Summary collapse
-
#get ⇒ Object
Force UTF-16 string encoding when anonymous bytes are naively read in, then encode for UTF-8, which the user expects.
-
#set(string) ⇒ Object
Expect to receive UTF-8 string when setting.
-
#size ⇒ Object
Calculate total size, in bytes, of: - UTF-16-encoded string - uint16 length of string (2 bytes) - null terminator (2 bytes).
Instance Method Details
#get ⇒ Object
Force UTF-16 string encoding when anonymous bytes are naively read in, then encode for UTF-8, which the user expects
34 35 36 |
# File 'lib/ase-palette/palette_binary.rb', line 34 def get self.data.force_encoding(Encoding::UTF_16BE).encode(Encoding::UTF_8) end |
#set(string) ⇒ Object
Expect to receive UTF-8 string when setting
39 40 41 |
# File 'lib/ase-palette/palette_binary.rb', line 39 def set(string) self.data = string.encode(Encoding::UTF_16BE) end |
#size ⇒ Object
Calculate total size, in bytes, of:
-
UTF-16-encoded string
-
uint16 length of string (2 bytes)
-
null terminator (2 bytes)
47 48 49 |
# File 'lib/ase-palette/palette_binary.rb', line 47 def size self.data.length + 4 end |