Method: Codec::Bertlv#encode
- Defined in:
- lib/codec/tlv.rb
#encode(field) ⇒ Object
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/codec/tlv.rb', line 163 def encode(field) out = "" subfields = field.get_value unless subfields.kind_of?(Array) raise EncodingException, "Invalid field #{field.to_yaml} for BER Tlv encoding" end while subfields.size > 0 subfield = subfields.shift out += tag_encode(subfield.get_id) # TODO : Handle value that is not String value = value_encode(subfield.get_value) out += length_encode(value.length) out += value end return out end |