2013-10-27 3 views
2

은 내가 메모장에 아랍어/페르시아어 텍스트 파일의 단락 저장된 유니 코드 및 UTF8, 에 대한 심각한 문제를 가지고 그것을 저장, 지금은유니 코드 텍스트를 utf8 텍스트로 변환하는 방법은 무엇입니까?

Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå 

처럼 내 정보를보고 내 질문에 다시 얻는 방법 내 데이터를 가져 오는 것이 중요합니다. 미리 데이터를 돌려 주어야합니다.

+0

메모장의 '열기'상자에는 '인코딩'이라는 드롭 다운이 있습니다. 단지 'UTF-8'로 설정하십시오. 추신 이 질문이 실제로 UTF-8 데이터를 읽는 프로그램 *을 작성하는 경우 질문을 편집하여 더 명확하게 작성하십시오. –

답변

2

단락은 코드 페이지 1256 (아랍어/페르시아어)로 저장 한 다음 코드 페이지 1252 (서유럽)로 해석하여 마지막으로 저장했습니다 유니 코드 텍스트로.

string scrambled = "Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ " + 
        "Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå"; 
byte[] bytes = Encoding.GetEncoding("windows-1252").GetBytes(scrambled); 
string plainText = Encoding.GetEncoding("windows-1256").GetString(bytes); 
Console.WriteLine(text); 

일반 텍스트 출력은 다음과 같습니다 : "تو اين سورس برنامه عدد دلخواهي رو از ورودي ميگيره و به طول همون عدد مثلثي رو رسم مي کنه"

+0

지사! 당신이 당신이 연결하는 것을 말해 줄 수 있습니까? 문자열 스크램블 = "æ + + + + + + + + + + + + + + + + + + + + + + + + +"+ " –

+0

그것은 단지 화장품입니다. 스크롤바가 응답에 나타나지 않도록 문자열을 두 부분으로 분할했습니다. –

1

에이 절차를 반대로 C 번호를 사용할 수 있습니다 Linux에서 Gedit을 사용하여 1256 인코딩 파일로 열 수 있습니다.

gedit shahnameh.txt --encoding WINDOWS-1256 

gui를 통해 동일한 작업을 수행 할 수 있습니다. 파일을 열 때 "열기"대화 상자에서 올바른 인코딩을 선택하기 만하면됩니다. 열린 대화 상자의 맨 아래에 있어야합니다.

관련 문제