나는 우르두어 힌디어 번역/음역 작업을하고 있습니다. 내 목표는 우르두어를 힌두어로 번역하는 것이며 그 반대도 마찬가지입니다. Visual C++ 2010 소프트웨어를 C++ 언어로 사용하고 있습니다. UTF-8 형식으로 저장된 텍스트 파일에 우르두어 문장을 작성했습니다. 이제는 그 파일에서 하나 하나의 문자를 얻고 싶습니다. 그래서 그 문자를 동등한 힌디어 문자로 변환 할 수 있습니다. 입력 파일에서 하나의 문자를 얻고이 단일 문자를 출력 파일에 쓰려고하면 출력 파일에 알 수없는 추한 문자가 나타납니다. 친절하게 적절한 코드를 도와주세요. 내 코드는 다음과 같습니다.파일에 쓰여진 UTF-8로 인코딩 된 URDU 문자열에서 단일 문자를 가져 오는 방법은 무엇입니까?
#include<iostream>
#include<fstream>
#include<cwchar>
#include<cstdlib>
using namespace std;
void main()
{
wchar_t arry[50];
wifstream inputfile("input.dat",ios::in);
wofstream outputfile("output.dat");
if(!inputfile)
{
cerr<<"File not open"<<endl;
exit(1);
}
while (!inputfile.eof()) // i am using this while just to
// make sure copy-paste operation of
// written urdu text from one file to
// another when i try to pick only one character
// from file, it does not work.
{ inputfile>>arry; }
int i=0;
while(arry[i] != '\0') // i want to get urdu character placed at
// each-index so that i can work on it to convert
// it into its equivalent hindi character
{ outputfile<<arry[i]<<endl;
i++; }
inputfile.close();
outputfile.close();
cout<<"Hello world"<<endl;
}
안내를 주셔서 감사합니다. 친절하게도 가이드가 어떻게 내 자신의 UTF-8 디코더를 만들 수 있습니까? –
안내를 잘 주셔서 감사합니다. 친절하게 안내해 주시면 어떻게 직접 utf-8 디코더를 만들 수 있습니까? URDU 텍스트 (파키스탄어)는 유니 코드로 2 바이트 문자로 표시되며 각 문자는 11 비트를 사용하므로 각 문자는 2 바이트로 인코딩됩니다. 나는 URD 코드 포인트 값 (유니 코드 URDU 문자의 11 비트)에서 인코딩 된 여분의 유니 코드 비트를 제거한 다음 어떻게 11 비트를 다른 파일 (UTF-8 형식으로 이미 저장되어 있음)에 넣을 수 있는지 명확하지 않다. 내가 혼란 스러움을 이해했으면 좋겠다. –