how to convert unsigned char* to string16

1,655 views
Skip to first unread message

guotao wang

unread,
May 28, 2012, 6:25:38 AM5/28/12
to Chromium-dev
Because of many reasons, i need to convert BYTE* to string16, how to
do

Primiano Tucci

unread,
May 28, 2012, 6:48:27 AM5/28/12
to wqq...@gmail.com, Chromium-dev
On Mon, May 28, 2012 at 11:25 AM, guotao wang <wqq...@gmail.com> wrote:
> Because of many reasons,  i need to convert BYTE* to string16, how to
> do

I guess a good candidate could be:
UTF8ToUTF16(const char* src, size_t src_len, string16* output);

defined in base/utf_string_conversions.h.

Cheers,
Primiano

Stuart Morgan

unread,
May 28, 2012, 7:22:17 AM5/28/12
to wqq...@gmail.com, prim...@chromium.org, Chromium-dev
2012/5/28 Primiano Tucci <prim...@chromium.org>:
> On Mon, May 28, 2012 at 11:25 AM, guotao wang <wqq...@gmail.com> wrote:
>> Because of many reasons,  i need to convert BYTE* to string16, how to
>> do
>
> I guess a good candidate could be:
> UTF8ToUTF16(const char* src, size_t src_len, string16* output);

This of course assumes that the original data in the BYTE* is in fact
valid UTF-8.

If your data isn't UTF-8, then you need to do some other kind of
conversion. Since you don't say what the data is, it's impossible
for anyone to actually give you a definitive answer.

-Stuart

guotao wang

unread,
May 28, 2012, 8:36:29 AM5/28/12
to Chromium-dev
my data is ASCII, if i use UTF8ToUTF16 , maybe use
reinterpret_cast<char const*>

On 5月28日, 下午7时22分, Stuart Morgan <stuartmor...@chromium.org> wrote:
> 2012/5/28 Primiano Tucci <primi...@chromium.org>:

guotao wang

unread,
May 28, 2012, 8:38:34 AM5/28/12
to Chromium-dev
my data is ASCII, UTF8ToUTF16 function maybe used
reinterpret_cast<char const*>

On 5月28日, 下午6时48分, Primiano Tucci <primi...@chromium.org> wrote:

Hao Zheng

unread,
May 28, 2012, 8:59:59 AM5/28/12
to wqq...@gmail.com, Chromium-dev
Then use ASCIIToUTF16().

Regards,
Hao Zheng



--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
   http://groups.google.com/a/chromium.org/group/chromium-dev

guotao wang

unread,
May 28, 2012, 9:23:26 AM5/28/12
to Chromium-dev
ASCIIToUTF16(std::string((const char *)m_lpdata,dwSize)) is right?

it cause debugbreak , "DCHECK(IsStringASCII(ascii)) << ascii;"

On 5月28日, 下午8时59分, Hao Zheng <zheng...@google.com> wrote:
> Then use ASCIIToUTF16().
>
> Regards,
> Hao Zheng
>
>
>
>
>
>
>
> On Mon, May 28, 2012 at 8:38 PM, guotao wang <wqqg...@gmail.com> wrote:
> > my data is ASCII, UTF8ToUTF16 function maybe used
> > reinterpret_cast<char const*>
>
> > On 5月28日, 下午6时48分, Primiano Tucci <primi...@chromium.org> wrote:
> > > On Mon, May 28, 2012 at 11:25 AM, guotao wang <wqqg...@gmail.com> wrote:
> > > > Because of many reasons, i need to convert BYTE* to string16, how to
> > > > do
>
> > > I guess a good candidate could be:
> > > UTF8ToUTF16(const char* src, size_t src_len, string16* output);
>
> > > defined in base/utf_string_conversions.h.
>
> > > Cheers,
> > > Primiano
>
> > --
> > Chromium Developers mailing list: chromium-...@chromium.org

Torne (Richard Coles)

unread,
May 28, 2012, 9:44:10 AM5/28/12
to wqq...@gmail.com, Chromium-dev
On 28 May 2012 14:23, guotao wang <wqq...@gmail.com> wrote:
> ASCIIToUTF16(std::string((const char *)m_lpdata,dwSize)) is right?
>
> it cause debugbreak , "DCHECK(IsStringASCII(ascii)) << ascii;"

Then your input string isn't ASCII (i.e. it contains some bytes >127).
Find out what character set it actually is.

> On 5月28日, 下午8时59分, Hao Zheng <zheng...@google.com> wrote:
>> Then use ASCIIToUTF16().
>>
>> Regards,
>> Hao Zheng
>>
>>
>>
>>
>>
>>
>>
>> On Mon, May 28, 2012 at 8:38 PM, guotao wang <wqqg...@gmail.com> wrote:
>> > my data is ASCII, UTF8ToUTF16 function maybe used
>> > reinterpret_cast<char const*>
>>
>> > On 5月28日, 下午6时48分, Primiano Tucci <primi...@chromium.org> wrote:
>> > > On Mon, May 28, 2012 at 11:25 AM, guotao wang <wqqg...@gmail.com> wrote:
>> > > > Because of many reasons, i need to convert BYTE* to string16, how to
>> > > > do
>>
>> > > I guess a good candidate could be:
>> > > UTF8ToUTF16(const char* src, size_t src_len, string16* output);
>>
>> > > defined in base/utf_string_conversions.h.
>>
>> > > Cheers,
>> > > Primiano
>>
>> > --
>> > Chromium Developers mailing list: chromium-...@chromium.org
>> > View archives, change email options, or unsubscribe:
>> > http://groups.google.com/a/chromium.org/group/chromium-dev
>
> --
> Chromium Developers mailing list: chromi...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-dev



--
Torne (Richard Coles)
to...@google.com
Reply all
Reply to author
Forward
0 new messages