包含所有 ASCII 字符的二进制文件

Binary file containing all ASCII characters

是否有包含所有 256 个 ASCII 字符的二进制文件(.dat 文件)?我想在我的霍夫曼压缩算法上测试它。

正常使用vim这样的文本编辑器创建文件时,无法添加控制字符等奇怪的字符,不知道有没有人知道有没有这样的文件随时可以使用,或者如果我可以自己制作一个。

听起来很简单。
有什么问题?

void MakeFile(void)
{
    unsigned char ascii[128] = {0};
    for(int i=1; i<ARRAY_SIZE(ascii); ++i)
    {
        ascii[i] = ascii[i-1]+1;
    }

    FILE* fp = fopen("all_ascii.txt", "w");
    if (fp == NULL) 
    {
        return;
    }
    fwrite(ascii, ARRAY_SIZE(ascii), 1, fp);
    fclose(fp);
}

您可以使用 for(i=0;i<256;i++)printf("%c",i); 创建一个。

我不知道有这样的文件,但您可以使用这些字符的整数表示或十六进制等。您可以检查它们是否可以使用函数 isprint() 来表示,如果无法打印,它将 return false。

所以我会做的是使用循环并从第一个字符开始,然后使用该函数来确定它是否可以用字符形式表示,或者您是否需要以其他方式表达它。

看看Random.org。 有一个 white noise generator,它会生成一个音频文件,但您可以将其用于压缩测试。