blob: 8600cd14b594fddf135605b9ce9c5de82c960078 [file] [log] [blame]
Dan Sinclair1770c022016-03-14 14:14:16 -04001// 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
Dan Sinclaire7786682017-03-29 15:18:41 -04007#ifndef FXBARCODE_BC_UTILCODINGCONVERT_H_
8#define FXBARCODE_BC_UTILCODINGCONVERT_H_
Dan Sinclair1770c022016-03-14 14:14:16 -04009
Tom Sepez8b6186f2017-03-28 12:06:45 -070010#include <vector>
11
Dan Sinclairbcd1e702017-08-31 13:19:18 -040012#include "core/fxcrt/fx_string.h"
Dan Sinclair1770c022016-03-14 14:14:16 -040013
14class CBC_UtilCodingConvert {
15 public:
16 CBC_UtilCodingConvert();
17 virtual ~CBC_UtilCodingConvert();
Ryan Harrison275e2602017-09-18 14:23:18 -040018 static void UnicodeToLocale(const WideString& source, ByteString& result);
19 static void LocaleToUtf8(const ByteString& source, ByteString& result);
20 static void LocaleToUtf8(const ByteString& source,
Tom Sepez8b6186f2017-03-28 12:06:45 -070021 std::vector<uint8_t>& result);
22 static void Utf8ToLocale(const std::vector<uint8_t>& source,
Ryan Harrison275e2602017-09-18 14:23:18 -040023 ByteString& result);
Dan Sinclair1770c022016-03-14 14:14:16 -040024 static void Utf8ToLocale(const uint8_t* source,
25 int32_t count,
Ryan Harrison275e2602017-09-18 14:23:18 -040026 ByteString& result);
27 static void UnicodeToUTF8(const WideString& source, ByteString& result);
Dan Sinclair1770c022016-03-14 14:14:16 -040028};
29
Dan Sinclaire7786682017-03-29 15:18:41 -040030#endif // FXBARCODE_BC_UTILCODINGCONVERT_H_