Unicode字符串问题

Unicode字符串问题,unicode,gdb,Unicode,Gdb,我正在一个字符数组中存储一些unicode字符“Пфц”。 当我查看(x/30s)gdb中的值时,它会显示如下内容: 0x80ac47c:“?\004>\004” 0x80ac482:“A\0048\004;\004L\004D\004>\004=\004:\0045\004/” 为什么会发生这种情况?这些字符代表什么?您应该阅读,因为gdb似乎是在转义这些字符,而不是让终端显示它们。请参阅。如果您在代码中重载了dbg\u dump函数,通过在gdb中调用print dbg\u dump(“фц

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

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


为什么会发生这种情况?这些字符代表什么?

您应该阅读,因为gdb似乎是在转义这些字符,而不是让终端显示它们。

请参阅。如果您在代码中重载了
dbg\u dump
函数,通过在gdb中调用
print dbg\u dump(“фц”)
,它有望调用重载函数,从而得到正确的UTF-8表示。请记住,在custon
dbg_dump
中,您可能需要明确表示希望显示Unicode字符。

使用
x/hs addr
命令,请参阅此链接:。