아래에 질문을 하였는데... 일본어 예제를 붙여봅니다.
'もぞもぞと身体を動かしていた'
이 문장이 제대로 표현이 안될때는 신체라는 한자가.. 身? 로 표기가 됩니다. 아마
신체라는 글자중 체 라는 글자는 일반 아스키 코드로는 표현이 안되는
모양입니다.
[질문]
유니코드 텍스트가 저장되어있는 배열의 내용을 한 줄씩
저장하여 하나의 유니코드 텍스트 파일을 만들고자 합니다만...
아래의 코드대로 하면, 유니코드로 저장되지 않고... 일반 텍스트(ANSI)로 저장되어
버립니다. 아무래도 WriteLn 이라는 명령어가 Unicode 용이 아닌듯한데...
어떻게하면되는지 조언을 주시면 고맙겠습니다. 참고로 저는 TnTunicode component 를
사용중인데.. 이곳에서 지원하는 명령어가 있는지요??
<!--CodeS-->
procedure TFormMain.SaveUnicodeText();
var
ATextFile : System.text;
i: integer;
begin
System.Assign(ATextFile, 'C://UnicodeText.txt' );
Rewrite(ATextFile);
for i := 1 to 100 do begin
writeLn (ATextFile,UnicodeTxtArray[i,1]);
end;
System.Close(ATextFile);
end;
<!--CodeS-->
<!--CodeS-->
Procedure SaveStringsAsUnicode( const thefilename:String;
theStringlist: String );
Var
WS: WideString;
fs: TFileStream;
byteorder_marker: Word;
Begin
WS:= theStringlist;
fs:= Tfilestream.create( thefilename, fmCreate );
try
byteorder_marker := $FEFF;
fs.WriteBUffer( byteorder_marker, sizeof(byteorder_marker));
fs.WriteBuffer( WS[1], Length(WS)*Sizeof( WS[1] ));
finally
fs.free
end;
End;
<!--CodeE-->