我有一個char [32]認爲由ASCII字符組成,其中的一些可以是非打印的字符,然而,它們都爲0的有效範圍到255C++轉換十六進制數,以人類可讀的字符串表示
比方說,它包含這些數字: {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}
I」但是,如果使用printf或sprintf將其打印出來或以std :: string存儲爲「9A2E5C66263D5A887626F109B532DE10913E682FEA7BC95266239D7716BBC942」,但是,如果使用printf或sprintf將其打印出來,它將生成每個數字的ASCII代表,而將打印出「ö。\ f & =Zàv&Òμ2fi> h /Í{... Rf#ùwª... B「,這是正確的ASCII字符表示,因爲:ö= 9a,。 = 2e,...
如何可靠地獲取十六進制數字的字符串表示形式?即:我期望一個字符[64],其中包含「9A2E5C66263D5A887626F109B532DE10913E682FEA7BC95266239D7716BBC942」,而不是。
謝謝!
是的! %02x,非常感謝你! 我做了另一個for循環後sprintf循環將'\ 0'轉換爲'0',所以我愚蠢。 – Zennichimaro 2013-03-17 22:19:09