OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_BASE_NET_STRING_UTIL_H__ | 5 #ifndef NET_BASE_NET_STRING_UTIL_H__ |
6 #define NET_BASE_NET_STRING_UTIL_H__ | 6 #define NET_BASE_NET_STRING_UTIL_H__ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 | 11 |
12 // String conversion functions. By default, they're implemented with ICU, but | 12 // String conversion functions. By default, they're implemented with ICU, but |
13 // when building with USE_ICU_ALTERNATIVES, they use platform functions instead. | 13 // when building with USE_ICU_ALTERNATIVES, they use platform functions instead. |
14 | 14 |
15 namespace net { | 15 namespace net { |
16 | 16 |
| 17 extern const char* const kCharsetLatin1; |
| 18 |
17 // Converts |text| using |charset| to UTF-8, and writes it to |output|. | 19 // Converts |text| using |charset| to UTF-8, and writes it to |output|. |
18 // On failure, returns false and |output| is cleared. | 20 // On failure, returns false and |output| is cleared. |
19 bool ConvertToUtf8(const std::string& text, const char* charset, | 21 bool ConvertToUtf8(const std::string& text, const char* charset, |
20 std::string* output); | 22 std::string* output); |
21 | 23 |
22 // Converts |text| using |charset| to UTF-8, normalizes the result, and writes | 24 // Converts |text| using |charset| to UTF-8, normalizes the result, and writes |
23 // it to |output|. On failure, returns false and |output| is cleared. | 25 // it to |output|. On failure, returns false and |output| is cleared. |
24 bool ConvertToUtf8AndNormalize(const std::string& text, const char* charset, | 26 bool ConvertToUtf8AndNormalize(const std::string& text, const char* charset, |
25 std::string* output); | 27 std::string* output); |
26 | 28 |
27 // Converts |text| encoded in Latin-1 to UTF-8, normalizes the result, and | |
28 // writes it to |output|. On failure, returns false and |output| is cleared. | |
29 bool ConvertLatin1ToUtf8AndNormalize(const std::string& text, | |
30 std::string* output); | |
31 | |
32 // Converts |text| using |charset| to UTF-16, and writes it to |output|. | 29 // Converts |text| using |charset| to UTF-16, and writes it to |output|. |
33 // On failure, returns false and |output| is cleared. | 30 // On failure, returns false and |output| is cleared. |
34 bool ConvertToUTF16(const std::string& text, const char* charset, | 31 bool ConvertToUTF16(const std::string& text, const char* charset, |
35 base::string16* output); | 32 base::string16* output); |
36 | 33 |
37 // Converts |text| encoded in Latin-1 to UTF-16, and writes it to |output|. | 34 // Converts |text| using |charset| to UTF-16, and writes it to |output|. |
38 // On failure, returns false and |output| is cleared. | 35 // Any characters that can not be converted are replaced with U+FFFD. |
39 bool ConvertLatin1ToUTF16(const std::string& text, base::string16* output); | 36 bool ConvertToUTF16WithSubstitutions(const std::string& text, |
| 37 const char* charset, |
| 38 base::string16* output); |
40 | 39 |
41 } // namespace net | 40 } // namespace net |
42 | 41 |
43 #endif // NET_BASE_NET_STRING_UTIL_H__ | 42 #endif // NET_BASE_NET_STRING_UTIL_H__ |
OLD | NEW |