ASCII 到 dec 存储在字符串中

用户10668188

该字符串str_hex包含字母 AJ 的十六进制值,对应于十进制值 65-74。我正在尝试按照此示例将每个十六进制值转换为其十进制值它适用于std::coutfor 循环内情况,但输出std::string仍然具有 ascii 值。为什么这不起作用,或者有更好/更合适的方法来构建我的输出字符串?

#include <string>
#include <iostream>
#include <stdint.h>

int main()
{

    std::string str_hex("\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b", 10);
    std::string str_output = "";

    for (int i = 0; i < 10; ++i)
    {
        uint8_t tmp = str_hex[i];
        str_output.append(1, (unsigned)tmp);
        std::cout << "cout+for: " << (unsigned)tmp << std::endl;
        if(i<9)
            str_output.append(1, '-');
    }
    std::cout << std::endl << "cout+str_append: " << str_output  << std::endl;

    return 0;
}

编译并运行程序会得到以下输出:

cout+for: 65
cout+for: 66
cout+for: 67
...

cout+str_append: A-B-C-D-E-F-G-H-I-J

所需的输出是:

cout+str_append: 65-66-67-68-...
弗朗西斯科

该方法string::append在各种重载中接受 asize_t和 a char,请参阅参考资料

string& append (size_t n, char c);

因此,在您的代码行中

str_output.append(1, (unsigned)tmp);

您隐式地将无符号tmp转换为字符,即转换为单个字母。要获得您想要的输出,您必须转换tmp为包含数字的字符串,然后将其附加到str_output. 你可以通过使用做到这一点

str_output+=std::to_string(tmp);

而不是str_output.append(1, (unsigned)tmp);.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java 中的 ASCII 到 HEX 字符串返回 ASCII 值而不是 HEX

来自分类Dev

包含中文字符到ASCII的字符串

来自分类Dev

十六进制到ASCII字符串的转换

来自分类Dev

ASCII字符串到16位值的序列

来自分类Dev

字符串到ASCII代码的转换并将其绑定

来自分类Dev

较长字节数组中的字符串到ascii

来自分类Dev

Oracle SQL - 查找具有从 ASCII 0 到 ASCII 32 及以上 ASCII 128 字符的字符串

来自分类Dev

ASCII到EBCDIC字符编码

来自分类Dev

ASCII到EBCDIC字符编码

来自分类Dev

Erlang十六进制字符串到ASCII字符串

来自分类Dev

Erlang十六进制字符串到ASCII字符串

来自分类Dev

将字符串存储到C中的数组中

来自分类Dev

字符字符串中的ASCII代码

来自分类Dev

将字符串文件存储到动态数组中

来自分类Dev

将字符串循环存储到数组中?

来自分类Dev

将动态变化的字符串存储到变量中

来自分类Dev

将单词从文件存储到字符串Java中

来自分类Dev

C将字符串存储到数组中

来自分类Dev

Java,将字符串存储到数组中

来自分类Dev

将字符串数组存储到数据属性中

来自分类Dev

字符串生成器(JAVA)从二进制到Ascii的麻烦

来自分类Dev

=?UTF?Q?从 ASCII 到 Unicode 的新闻组字符串

来自分类Dev

Javascript字符(ASCII)到十六进制

来自分类Dev

Javascript字符(ASCII)到十六进制

来自分类Dev

如何使用getline将完整字符串存储到字符串数组中?

来自分类Dev

如何将字符串生成的子字符串存储到字符串数组中?

来自分类Dev

如何将数字转换为ASCII值或字符并存储在字符串数组中

来自分类Dev

从字符串中删除ASCII符号

来自分类Dev

将变量传递到ascii艺术中

Related 相关文章

热门标签

归档