• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 PDFium 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 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #include "barcode.h"
8 #include "BC_UtilCodingConvert.h"
CBC_UtilCodingConvert()9 CBC_UtilCodingConvert::CBC_UtilCodingConvert() {}
~CBC_UtilCodingConvert()10 CBC_UtilCodingConvert::~CBC_UtilCodingConvert() {}
UnicodeToLocale(const CFX_WideString & src,CFX_ByteString & dst)11 void CBC_UtilCodingConvert::UnicodeToLocale(const CFX_WideString& src,
12                                             CFX_ByteString& dst) {
13   dst.ConvertFrom(src);
14 }
LocaleToUtf8(const CFX_ByteString & src,CFX_ByteString & dst)15 void CBC_UtilCodingConvert::LocaleToUtf8(const CFX_ByteString& src,
16                                          CFX_ByteString& dst) {
17   CFX_WideString unicode = CFX_WideString::FromLocal(src, src.GetLength());
18   dst = unicode.UTF8Encode();
19 }
LocaleToUtf8(const CFX_ByteString & src,CFX_ByteArray & dst)20 void CBC_UtilCodingConvert::LocaleToUtf8(const CFX_ByteString& src,
21                                          CFX_ByteArray& dst) {
22   CFX_WideString unicode = CFX_WideString::FromLocal(src, src.GetLength());
23   CFX_ByteString utf8 = unicode.UTF8Encode();
24   for (int32_t i = 0; i < utf8.GetLength(); i++) {
25     dst.Add(utf8[i]);
26   }
27 }
Utf8ToLocale(const CFX_ByteArray & src,CFX_ByteString & dst)28 void CBC_UtilCodingConvert::Utf8ToLocale(const CFX_ByteArray& src,
29                                          CFX_ByteString& dst) {
30   CFX_ByteString utf8;
31   for (int32_t i = 0; i < src.GetSize(); i++) {
32     utf8 += src[i];
33   }
34   CFX_WideString unicode = CFX_WideString::FromUTF8(utf8, utf8.GetLength());
35   dst.ConvertFrom(unicode);
36 }
Utf8ToLocale(const uint8_t * src,int32_t count,CFX_ByteString & dst)37 void CBC_UtilCodingConvert::Utf8ToLocale(const uint8_t* src,
38                                          int32_t count,
39                                          CFX_ByteString& dst) {
40   CFX_WideString unicode = CFX_WideString::FromUTF8((const char*)src, count);
41   dst.ConvertFrom(unicode);
42 }
UnicodeToUTF8(const CFX_WideString & src,CFX_ByteString & dst)43 void CBC_UtilCodingConvert::UnicodeToUTF8(const CFX_WideString& src,
44                                           CFX_ByteString& dst) {
45   dst = src.UTF8Encode();
46 }
47