2013-03-26 1 views
0

DB에서 CSV 파일로 내보내려면 새 루마니아 문자 "ă ş ţ"를 인코딩하려고합니다. 이 새로운 문자는 2000/01에 추가되었지만 프레임 워크에서는 사용할 수있는 인코딩이 없습니다 (.net 4.5에서도 가능).C# 새 루마니아어 문자 인코딩

루마니아어 사이트 중 하나는 chacters의 사용법을 설명합니다 here. MSDN에 대한 자세한 내용을 언급했지만 iso-8859-16 인코딩에 대한 참조가 없습니다. 위의 인코딩을 사용하면 C#에서 예외가 throw됩니다. " 'ISO_8859-16'은 지원되는 인코딩 이름이 아닙니다."

이전에이 인코딩을 사용한 적이 있습니까?

sanjay

+1

이들은 새로운 문자가 아닙니다. 유니 코드로 CSV를 내보내는 것이 좋을 것 같습니다. – Vasea

답변

2

.Net에는 ISO 8859-16에 대한 지원 기능이 기본적으로 없습니다. 가장 쉬운 해결책은 UTF-8과 같은 유니 코드 인코딩으로 전환하는 것입니다.

ISO 8859-16이 여전히 필요한 경우 직접 구현할 수 있습니다. Encoding 클래스는 확장 가능합니다. 참고로, Wikipedia 또는

MSDN는 EBCDIC에 대한 예를 들어이 답변을 참조 참조 : Create own Encoding for Roman8 charset

당신은 추상 메소드 구현해야합니다 : 어쩌면

int GetByteCount(char[], int, int) 
int GetBytes(char[], int, int, byte[], int) 
int GetCharCount(byte[], int, int) 
int GetChars(byte[], int, int, char[], int) 
int GetMaxByteCount(int) 
int GetMaxCharCount(int) 

가상 멤버 :

bool IsSingleByte { get; } 
string EncodingName { get; }