【发布时间】:2016-01-07 05:50:10
【问题描述】:
我想知道如何用printf() 显示特殊字符。
我正在做一个从 Text 到 Code128(条形码编码)的字符串转换程序。
对于这种类型的编码,我需要显示 Î、Ç、È、Ì 等字符。
示例:
要转换的字符串:EPE196000100000002260500004N
预期结果:ÌEPEÇ3\ *R 6\ R $ÈNZÎ
printf 结果输入:╠EPEÇ3\ *R 6\ R $ÇNZ╬
printf 结果图片:[]
编辑:我只能在这个程序中使用 C,根本不能使用 C++。到目前为止我发现的所有遮阳篷都是用 C++ 而不是 C 所以我在问如何用 C ^^
【问题讨论】:
-
只需打印它们。但请注意,您的控制台或其他输出设备的编码会影响它,以及您的代码的代码页。如果您需要特定代码,最好使用十六进制代码。
-
好的,试试这个,谢谢 ;)
-
我从 ascii-code.com 获取了 Ascii/Hexa 代码,我用 printf("%c%c%c%c\n", '\xCC', '\xC8', ' 绑定显示 ÌÈÎÇ \xCE','\xC7');结果:╠╚╬ Ã 漂亮,但不是我所期望的……:/您对如何解决它有任何想法吗? ^^'
-
如果您打印
'\xCC', '\xC8', '\xCE','\xC7'并看到 4 个不同的字符,这意味着您的控制台不是 UTF-8 编码。可能您的控制台没有必需的字符(可以通过循环打印所有可打印字符 32-255 来检查)。您可能会想如何将您的字符转换为 UTF-8,然后使用 UTF-8 控制台。
标签: c character-encoding