使用Unicode的UTF-8格式输出\uxxx

使用Unicode的UTF-8格式输出\uxxx,c,unicode,utf-8,arduino,output,C,Unicode,Utf 8,Arduino,Output,我在这一点上被卡住了,无法用格式字符串写入文件。例如,我现在有4E25的值。但我需要写入带有前缀\u的文本文件。由于我不能直接将\u附加到4E25,我可以如何将\u4e25输出到?您是说您只想将文本字符串\u4e25打印到文件中,但您不能,因为编译器正在解释转义序列并打印实际的unicode字符?如果是这样,答案很简单:“\”字符的转义码是\\。因此,您可以在源代码中使用fprintf\\u4e25在文件中生成\u4e25。将\u解释为值的一部分。i、 e.\u00aa在代码中不会被解释为后跟字

我在这一点上被卡住了,无法用格式字符串写入文件。例如,我现在有4E25的值。但我需要写入带有前缀\u的文本文件。由于我不能直接将\u附加到4E25,我可以如何将\u4e25输出到?

您是说您只想将文本字符串\u4e25打印到文件中,但您不能,因为编译器正在解释转义序列并打印实际的unicode字符?如果是这样,答案很简单:“\”字符的转义码是\\。因此,您可以在源代码中使用fprintf\\u4e25在文件中生成\u4e25。

将\u解释为值的一部分。i、 e.\u00aa在代码中不会被解释为后跟字符0024的转义字符。在本例中,编译器将把所有序列转换为UTF-8中的正确字节0xc2a3

没有任何东西可以阻止您使用printf\u00aa;,但您不能这样做,printf\u%s,str;例如如果需要直接输入UTF-8代码,可以使用八进制,例如


printf\302\243\n;//直接打印UTF-8序列

嗨,我想我把这个问题说得很模糊。假设我有\u0024,它表示$as字符。我正试图使用此$写入文件,因此需要将\u0024写入该文件。问题是我能够获得这个0024,但我不能直接将\u附加到0024,以便能够将字符输出到文件中。你知道我该怎么办吗?非常感谢@userXXX为什么不能直接附加\u?你这是什么意思?因为我认为\是转义字符。如果我将\u附加到0024,我实际上需要编写一个\\u0024,但这不是我想要的