Sha256: 1e16d4d4684c453be19db7d33f9838fb6faa8e596872b9a67dbaf4c831d4404f
Contents?: true
Size: 709 Bytes
Versions: 2
Compression:
Stored size: 709 Bytes
Contents
require 'protobuf/field/bytes_field' module Protobuf module Field class StringField < BytesField ENCODING = 'UTF-8'.freeze def decode(bytes) bytes.force_encoding(::Protobuf::Field::StringField::ENCODING) bytes end def encode(value) # TODO: make replace character configurable? value.encode!(::Protobuf::Field::StringField::ENCODING, ::Protobuf::Field::BytesField::BYTES_ENCODING, :invalid => :replace, :undef => :replace, :replace => "") value.force_encoding(::Protobuf::Field::BytesField::BYTES_ENCODING) string_size = ::Protobuf::Field::VarintField.encode(value.size) string_size << value end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
protobuf-2.7.8-java | lib/protobuf/field/string_field.rb |
protobuf-2.7.8 | lib/protobuf/field/string_field.rb |