我有一个由 ASCII 字符组成的 char[32],其中一些可能是不可打印的字符,但是它们都在 0 到 255 的有效范围内。
假设它包含这些数字: { 9A 2E 5C 66 26 3D 5A 88 76 26 F1 09 B5 32 DE 10 91 3E 68 2F EA 7B C9 52 66 23 9D 77 16 BB C9 42 }
我想将 std::string 打印出来或存储为“9A2E5C66263D5A887626F109B532DE10913E682FEA7BC95266239D7716BBC942”,但是,如果我使用 printf 或 sprintf 将其打印出来,它将产生每个数字的 ASCII 代表,而是打印出“ö. \f&=Zàv&Ò µ2fië>h/Í{…Rf#ùwª…B",这是正确的 ASCII 字符表示,因为:ö = 9a, . = 2e, ...
如何可靠地获取十六进制数字的字符串表示形式?即:我希望 char[64] 包含“9A2E5C66263D5A887626F109B532DE10913E682FEA7BC95266239D7716BBC942”。
谢谢!