|  | // Copyright 2017 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef NET_BASE_HEX_UTILS_H_ | 
|  | #define NET_BASE_HEX_UTILS_H_ | 
|  |  | 
|  | #include <string> | 
|  |  | 
|  | #include "base/strings/string_piece.h" | 
|  | #include "net/base/net_export.h" | 
|  |  | 
|  | namespace net { | 
|  |  | 
|  | // Return a std::string of binary data represented by the hex string |input|. | 
|  | // For example, HexDecode("48656c6c6f20776f726c6421") == "Hello world!" | 
|  | // This is the inverse function of base::HexEncode(). | 
|  | NET_EXPORT_PRIVATE std::string HexDecode(base::StringPiece input); | 
|  |  | 
|  | // Return a std::string containing hex and ASCII representations of the binary | 
|  | // buffer |input|, with offsets at the beginning of each line, in the style of | 
|  | // hexdump.  Non-printable characters will be shown as '.' in the ASCII output. | 
|  | // Example output: | 
|  | // "0x0000:  0090 69bd 5400 000d 610f 0189 0800 4500  ..i.T...a.....E.\n" | 
|  | // "0x0010:  001c fb98 4000 4001 7e18 d8ef 2301 455d  ....@.@.~...#.E]\n" | 
|  | // "0x0020:  7fe2 0800 6bcb 0bc6 806e                 ....k....n\n" | 
|  | NET_EXPORT_PRIVATE std::string HexDump(base::StringPiece input); | 
|  |  | 
|  | }  // namespace net | 
|  |  | 
|  | #endif  // NET_BASE_HEX_UTILS_H_ |