在gdb中处理你的“字符串”

时间:2014-03-24 17:51:41

标签: unicode gdb

为什么我不能将u"string"投放到gdb中的wchar_t*

(gdb) print (wchar_t*)L"abc"
$60 = 0x568ae3b0 L"abc"
(gdb) print (wchar_t*)u"abc"
$61 = 0x567c5078 L"\x620061c\020I\x56640948\x567c50d0\x567c4f80\x567c4f30"

u"string"是一个unsigned short数组,与wchars数组几乎相同。

1 个答案:

答案 0 :(得分:0)

wchar_t与linux上的unsigned short几乎不同,它与unsinged几乎相同。在linux上,wchar_t用于UTF-32,而不是UTF-16。您必须使用Unicode库进行转换(可能是ICU)。

您可以将它投射到char32_t*