#include #include #include #include using namespace std; using namespace NLMISC; void usage() { printf("uni_conv [option] \n"); printf("output_mode is one of:\n"); printf("\t-8 output in UTF-8\n"); printf("\t-16 output in UTF-16\n"); printf("\t-a output in ascii, non ascii char are silently removed\n"); printf("option:\n"); printf("\t-x minimal support for XML : encode &, < and > in XML chat tag\n"); } int main(int argc, char *argv[]) { new NLMISC::CApplicationContext; bool xmlSupport = false; enum TOutMode {UNDEF, UTF8, UTF16, ASCII}; CSString inputFile; CSString outputFile; TOutMode outMode = UNDEF; if (argc < 4) { usage(); return -1; } for (int i=1; i': temp += "<"; break; default: temp += str[i]; } } str = temp; } switch(outMode) { case UTF8: CI18N::writeTextFile(outputFile, str, true); break; case UTF16: CI18N::writeTextFile(outputFile, str, false); break; case ASCII: { string s = str.toString(); FILE *fp = fopen(outputFile.c_str(), "wt"); fwrite(s.data(), s.size(), 1, fp); fclose(fp); } break; } }