Merge to XFA: Kill FXSYS_mem{cpy,cmp,set.move}{32,8}.
[pdfium.git] / xfa / src / fxbarcode / 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 "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 (int32_t 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 (int32_t 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 uint8_t *src, int32_t 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