有一個csv文件,它具有用UTF-8編碼的許多不同的語言。我必須解析文件並驗證無效字符。 我寫了下面所顯示的一個範例程序......比較UTF8編碼的字符
int main(void)
{
string invalidUTF8Chars = ""; // Invalid UTF-8 Chars array.
invalidUTF8Chars+= "\u00A0";
invalidUTF8Chars+= "\u005E";
invalidUTF8Chars+= "\u00FE";
invalidUTF8Chars+= "\u00BA";
invalidUTF8Chars+= "\u00AF";
FILE* fp;
char ch;
fp = fopen("unicodeUTF8TextFile.txt","r");
if(fp != NULL)
{
while((ch = fgetc(fp)) != EOF) // Reading byte by byte form input file.
{
//if (strchr(invalidUTF8Chars.c_str(), ch)) // How do I validate here?
{
printf("Invalid character\n");
}
}
}
return 0;
}
我如何比較來自反對無效字符的文件中讀取數據?
'焦炭CH; '是一個巨大的錯誤;在繼續之前請仔細研究 API。 –
'string invalidUTF8Chars =「」;'不是數組。它只是一個包含所有無效「字符」的字符串。 – user1810087
如果你真的想要UTF-8,你的文字應該是'u8「\ u00A0」'等。您當前的代碼不使用UTF-8,而是系統的窄編碼(可能相同也可能不相同)。 –