OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef DEVICE_BLUETOOTH_URIBEACON_URI_ENCODER_H_ |
| 6 #define DEVICE_BLUETOOTH_URIBEACON_URI_ENCODER_H_ |
| 7 |
| 8 #include <stdint.h> |
| 9 |
| 10 #include <string> |
| 11 #include <vector> |
| 12 |
| 13 #include "base/strings/string_piece.h" |
| 14 |
| 15 namespace device { |
| 16 |
| 17 // The following functions EncodeUriBeaconUri() and DecodeUriBeaconUri() helps |
| 18 // encoding/decoding URI with the UriBeacon encoding. |
| 19 // |
| 20 // Example usage: |
| 21 // |
| 22 // std::vector<uint8_t> encoded; |
| 23 // EncodeUriBeaconUri("http://web.mit.edu/", encoded) |
| 24 // // encoded -> {2, 'w', 'e', 'b', '.', 'm', 'i', 't', 2} |
| 25 // |
| 26 // const char encodedUri[] = {0, 'u', 'r', 'i', 'b', 'e', 'a', 'c', 'o', 'n', |
| 27 // 8}; |
| 28 // const std::vector<uint8_t> kEncodedUri(encodedUri, encodedUri + |
| 29 // sizeof(encodedUri)); |
| 30 // std::string decoded; |
| 31 // DecodeUriBeaconUri(kEncodedUri, decoded) |
| 32 // // decoded -> "http://uribeacon.org" |
| 33 |
| 34 // Encodes the input string using URI encoding described in UriBeacon |
| 35 // specifications. |input| must be ASCII characters. |
| 36 void EncodeUriBeaconUri(const std::string& input, std::vector<uint8_t>& output); |
| 37 |
| 38 // Decodes the input string using URI encoding described in UriBeacon |
| 39 // specifications. |
| 40 void DecodeUriBeaconUri(const std::vector<uint8_t>& input, std::string& output); |
| 41 |
| 42 } // namespace device |
| 43 |
| 44 #endif |
OLD | NEW |