OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium 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 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "../../include/fxcrt/fx_basic.h" | 7 #include "../../include/fxcrt/fx_basic.h" |
8 void CFX_UTF8Decoder::Clear() | 8 void CFX_UTF8Decoder::Clear() |
9 { | 9 { |
10 m_Buffer.Clear(); | 10 m_Buffer.Clear(); |
11 m_PendingBytes = 0; | 11 m_PendingBytes = 0; |
12 } | 12 } |
13 void CFX_UTF8Decoder::AppendChar(FX_DWORD ch) | 13 void CFX_UTF8Decoder::AppendChar(FX_DWORD ch) |
14 { | 14 { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 FXSYS_assert(pwsStr != NULL); | 81 FXSYS_assert(pwsStr != NULL); |
82 if (len < 0) { | 82 if (len < 0) { |
83 len = (FX_STRSIZE)FXSYS_wcslen(pwsStr); | 83 len = (FX_STRSIZE)FXSYS_wcslen(pwsStr); |
84 } | 84 } |
85 CFX_UTF8Encoder encoder; | 85 CFX_UTF8Encoder encoder; |
86 while (len -- > 0) { | 86 while (len -- > 0) { |
87 encoder.Input(*pwsStr ++); | 87 encoder.Input(*pwsStr ++); |
88 } | 88 } |
89 return encoder.GetResult(); | 89 return encoder.GetResult(); |
90 } | 90 } |
91 void FX_UTF8Encode(FX_LPCWSTR pwsStr, FX_STRSIZE len, CFX_ByteStringL &utf8Str,
IFX_Allocator* pAllocator) | |
92 { | |
93 FXSYS_assert(pwsStr != NULL); | |
94 if (len < 0) { | |
95 len = (FX_STRSIZE)FXSYS_wcslen(pwsStr); | |
96 } | |
97 CFX_UTF8Encoder encoder(pAllocator); | |
98 while (len -- > 0) { | |
99 encoder.Input(*pwsStr ++); | |
100 } | |
101 encoder.GetResult(utf8Str); | |
102 } | |
OLD | NEW |