【发布时间】:2015-09-11 04:25:45
【问题描述】:
我想将存在的每个字符写入文件。我猜 unicode 有最完整的字符集,但我不太清楚。你能帮我解决这个问题吗?我正在使用 C++。这段代码似乎“只”写了 ASCII 字符集(或者我错了吗?)。感谢您的帮助。
#include <iostream>
#include <fstream>
using namespace std;
int main(void) {
wofstream wOutStream;
wOutStream.open("myFile.txt");
wchar_t myChar = 0;
do {
wOutStream << myChar << " ";
myChar++;
} while (myChar != 0);
wOutStream.close();
cin.get();
return 0;
}
【问题讨论】:
-
您不能只增加字符并希望它成功地遍历整个 UNICODE 字符空间。实际上有数十亿个可能的字符,但only a fraction are allocated.
-
Unicode 字符需要遵循某些位模式,如前所述,只有一小部分适合的可能数字。
-
好的,但是你能解释一下这样做的方法吗?
-
@KilianHe 最好的方法是获取一个 Unicode 数据库,它会告诉您定义了哪些字符,尽管它可能会过时。
-
@tadman,不是十亿...U+0000 到 U+10FFFF 可能是 1,114,112,但并非全部都已分配。