/** * Decode a CharacterString field * * @param \LibDNS\Decoder\DecodingContext $decodingContext * @param \LibDNS\Records\Types\CharacterString $characterString The object to populate with the result * @return int The number of packet bytes consumed by the operation * @throws \UnexpectedValueException When the packet data is invalid */ private function decodeCharacterString(DecodingContext $decodingContext, CharacterString $characterString) { $packet = $decodingContext->getPacket(); $length = ord($this->readDataFromPacket($packet, 1)); $characterString->setValue($this->readDataFromPacket($packet, $length)); return $length + 1; }
/** * Encode a CharacterString field * * @param \LibDNS\Records\Types\CharacterString $characterString * @return string */ private function encodeCharacterString(CharacterString $characterString) { $data = $characterString->getValue(); return chr(strlen($data)) . $data; }