Kea 2.5.5
hex.h
Go to the documentation of this file.
1// Copyright (C) 2009-2016 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef HEX_H
8#define HEX_H 1
9
10#include <stdint.h>
11#include <string>
12#include <vector>
13
14//
15// Note: this helper module isn't specific to the DNS protocol per se.
16// We should probably move this to somewhere else, possibly in some common
17// utility area.
18//
19
20namespace isc {
21namespace util {
22namespace encode {
34std::string encodeHex(const std::vector<uint8_t>& binary);
35
47void decodeHex(const std::string& input, std::vector<uint8_t>& result);
48
53inline std::string toHex(std::string value) {
54 std::vector<uint8_t> bin(value.begin(), value.end());
55 return ("0x" + encodeHex(bin));
56}
57
58} // namespace encode
59} // namespace util
60} // namespace isc
61
62#endif // HEX_H
63
64// Local Variables:
65// mode: c++
66// End:
string encodeHex(const vector< uint8_t > &binary)
Encode binary data in the base16 ('hex') format.
Definition: base_n.cc:483
void decodeHex(const string &input, vector< uint8_t > &result)
Decode a text encoded in the base16 ('hex') format into the original data.
Definition: base_n.cc:488
std::string toHex(std::string value)
Encode in hexadecimal inline.
Definition: hex.h:53
Defines the logger used by the top-level component of kea-lfc.