Class: Pdfrb::Filter::ASCIIHexDecode
- Inherits:
-
Object
- Object
- Pdfrb::Filter::ASCIIHexDecode
- Includes:
- Base
- Defined in:
- lib/pdfrb/filter/ascii_hex_decode.rb
Overview
ASCIIHexDecode (s7.4.2). Hex string -> bytes. EOD marker >.
Class Method Summary collapse
Class Method Details
.decoder(bytes, _parms, _document) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/pdfrb/filter/ascii_hex_decode.rb', line 17 def decoder(bytes, _parms, _document) nibbles = +"" bytes.each_byte do |b| ch = b.chr break if ch == ">" nibbles << ch if HEX.key?(ch) end nibbles << "0" if nibbles.length.odd? [nibbles].pack("H*").force_encoding(Encoding::BINARY) end |
.encoder(bytes, _parms, _document) ⇒ Object
30 31 32 33 |
# File 'lib/pdfrb/filter/ascii_hex_decode.rb', line 30 def encoder(bytes, _parms, _document) hex = bytes.unpack1("H*") "#{hex}>".force_encoding(Encoding::BINARY) end |