Unicode字符串问题

时间:2013-03-27 10:08:56

标签: unicode gdb

我在char数组中存储了一些unicode字符“лфи”。 当我查看(x / 30s)gdb中的值时,它会显示如下内容:

0x80ac47c:“?\ 004> \ 004” 0x80ac482:“A \ 0048 \ 004; \ 004L \ 004D \ 004> \ 004 = \ 004:\ 0045 \ 004 /”

为什么会这样发生?这些\ 004代表什么?

2 个答案:

答案 0 :(得分:1)

你应该阅读gdb's character set documentation,因为看起来gdb正在逃避这些字符,而不是让终端显示它们。

答案 1 :(得分:1)

Gdb Unicode Printing。如果你在代码中重载dbg_dump函数,通过在gdb中调用print dbg_dump("лфи"),它将有希望调用你的重载函数,从而产生正确的UTF-8表示。请记住,在您的术语dbg_dump中,您可能需要明确表示您要显示Unicode字符。