Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / BC_UtilCodingConvert.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #include "barcode.h"\r
8 #include "include/BC_UtilCodingConvert.h"\r
9 CBC_UtilCodingConvert::CBC_UtilCodingConvert()\r
10 {\r
11 }\r
12 CBC_UtilCodingConvert::~CBC_UtilCodingConvert()\r
13 {\r
14 }\r
15 void CBC_UtilCodingConvert::UnicodeToLocale(const CFX_WideString &src, CFX_ByteString &dst)\r
16 {\r
17     dst.ConvertFrom(src);\r
18 }\r
19 void CBC_UtilCodingConvert::LocaleToUtf8(const CFX_ByteString &src, CFX_ByteString &dst)\r
20 {\r
21     CFX_WideString unicode = CFX_WideString::FromLocal(src, src.GetLength());\r
22     dst = unicode.UTF8Encode();\r
23 }\r
24 void CBC_UtilCodingConvert::LocaleToUtf8(const CFX_ByteString &src, CFX_ByteArray &dst)\r
25 {\r
26     CFX_WideString unicode = CFX_WideString::FromLocal(src, src.GetLength());\r
27     CFX_ByteString utf8 = unicode.UTF8Encode();\r
28     for (FX_INT32 i = 0; i < utf8.GetLength(); i ++) {\r
29         dst.Add(utf8[i]);\r
30     }\r
31 }\r
32 void CBC_UtilCodingConvert::Utf8ToLocale(const CFX_ByteArray &src, CFX_ByteString &dst)\r
33 {\r
34     CFX_ByteString utf8;\r
35     for (FX_INT32 i = 0; i < src.GetSize(); i ++) {\r
36         utf8 += src[i];\r
37     }\r
38     CFX_WideString unicode = CFX_WideString::FromUTF8(utf8, utf8.GetLength());\r
39     dst.ConvertFrom(unicode);\r
40 }\r
41 void CBC_UtilCodingConvert::Utf8ToLocale(const FX_BYTE *src, FX_INT32 count, CFX_ByteString &dst)\r
42 {\r
43     CFX_WideString unicode = CFX_WideString::FromUTF8((const char*)src, count);\r
44     dst.ConvertFrom(unicode);\r
45 }\r
46 void CBC_UtilCodingConvert::UnicodeToUTF8(const CFX_WideString &src, CFX_ByteString &dst)\r
47 {\r
48     dst = src.UTF8Encode();\r
49 }\r