microsoft/cpprestsdk

utility::conversions::latin1_to_utf16 - Is there a bug for characters above 0x80?

開放

#101 建立於 2016年3月23日

 (1 則留言) (0 個反應) (0 位負責人)C++ (1,670 個分叉)batch import
bughelp wanted

倉庫指標

星標
 (7,596 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

I've tried to use utility::conversions::latin1_to_utf16 to convert latin1 string to UTF-16. The string contained 'í' character (0xed). After converting it should become 0x00ed but it seems that converting method replaced it with 0xffed.

I think this may be result of casting signed char to utf16char and dest[i] = utf16char(s[i]); in asyncrt_utils.cpp should be replaced by dest[i] = utf16char(static_cast<unsigned char>(s[i])); to fix it. Can someone check if I'm right?

貢獻者指南