Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: utilities.h

Issue 6740005: Handle UCS-2 data coding scheme for SMS messsages. (Closed) Base URL: ssh://gitrw.chromium.org:9222/cromo.git@master
Patch Set: Remove redundant comparison operations Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sms_message_unittest.cc ('k') | utilities.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium OS 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 // Utilities for plugins for the cromo modem manager. 5 // Utilities for plugins for the cromo modem manager.
6 6
7 #ifndef CROMO_UTILITIES_H_ 7 #ifndef CROMO_UTILITIES_H_
8 #define CROMO_UTILITIES_H_ 8 #define CROMO_UTILITIES_H_
9 9
10 #include <base/basictypes.h> 10 #include <base/basictypes.h>
11 #include <map> 11 #include <map>
(...skipping 29 matching lines...) Expand all
41 41
42 // Convert a string representing a hex ESN to one representing a 42 // Convert a string representing a hex ESN to one representing a
43 // decimal ESN. Returns success. 43 // decimal ESN. Returns success.
44 bool HexEsnToDecimal(const std::string& esn_hex, std::string* out); 44 bool HexEsnToDecimal(const std::string& esn_hex, std::string* out);
45 45
46 // Converts an array of bytes containing text encoded in the GSM 03.38 46 // Converts an array of bytes containing text encoded in the GSM 03.38
47 // character set (also know as GSM-7) into a UTF-8 encoded string. 47 // character set (also know as GSM-7) into a UTF-8 encoded string.
48 // GSM-7 is a 7-bit character set, and in SMS messages, the 7-bit 48 // GSM-7 is a 7-bit character set, and in SMS messages, the 7-bit
49 // septets are packed into an array of 8-bit octets. 49 // septets are packed into an array of 8-bit octets.
50 // 50 //
51 // The first byte of the input array the length of the converted 51 // The first byte of the input array gives the length of the converted
52 // data in septets, i.e., it is the number of GSM-7 septets that 52 // data in septets, i.e., it is the number of GSM-7 septets that
53 // will result after the array is unpacked. 53 // will result after the array is unpacked.
54 std::string Gsm7ToUtf8String(const uint8_t* gsm7); 54 std::string Gsm7ToUtf8String(const uint8_t* gsm7);
55 55
56 // Converts a string of characters encoded using UTF-8 into an 56 // Converts a string of characters encoded using UTF-8 into an
57 // array of bytes which is result of converting the string into 57 // array of bytes which is result of converting the string into
58 // septets in the GSM-7 alphabet and then packing the septets into 58 // septets in the GSM-7 alphabet and then packing the septets into
59 // octets. 59 // octets.
60 std::vector<uint8_t> Utf8StringToGsm7(const std::string& input); 60 std::vector<uint8_t> Utf8StringToGsm7(const std::string& input);
61 61
62 // Converts an array of bytes containing text in the UCS-2 encoding
63 // into a UTF-8 encoded string.
64 //
65 // The first byte of the input array gives the length of the converted
66 // data in octets. Dividing this number by 2 gives the number of
67 // characters in the text.
68 std::string Ucs2ToUtf8String(const uint8_t* ucs2);
69
70 // Convert a UTF-8 encoded string to a byte array encoding
71 // the string as UCS-2.
72 std::vector<uint8_t> Utf8StringToUcs2(const std::string& input);
73
62 // Debugging utility for printing an array of bytes in a nicely 74 // Debugging utility for printing an array of bytes in a nicely
63 // formatted manner á la the UNIX hd command. 75 // formatted manner á la the UNIX hd command.
64 void DumpHex(const uint8_t* buf, size_t size); 76 void DumpHex(const uint8_t* buf, size_t size);
65 77
66 } // namespace utilities 78 } // namespace utilities
67 79
68 #endif /* CROMO_UTILITIES_H_ */ 80 #endif /* CROMO_UTILITIES_H_ */
OLDNEW
« no previous file with comments | « sms_message_unittest.cc ('k') | utilities.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698