2012-11-30 2 views
1

C#, Framework 4.0을 사용하여 독일어 언어에 관한 까다로운 문제에 직면하고 있습니다.문자열 인코딩 - 독일어 움라우트

snippet 고려 :

string l_stest = "ZÄHLWERKE"; 
Console.WriteLine(l_stest.Length); // 9 
Console.WriteLine(toto.LengthInTextElements); // 9 
Console.ReadLine(); 

결과는 9 될 것이다;

이제 Notepad++의 텍스트를 선택하면 길이가 10이됩니다. 나는 encoding을 추측하고있어

내 말을 스캔하여 일치하는 두 글자로 움라우트 교체 할 필요없이하지만 내 문제의 원인 (Ä ->AE), 어떻게의 정확한 길이를 계산하는 진행할 수 있습니다 내 문자열?

편집 : 올바른 길이는 입니다. 사전에

감사합니다!

+1

이미 UTF-8로 소스 파일을 저장 하시겠습니까? – EaterOfCode

+2

올바른 문자열 길이는 9 또는 10이라고 생각하십니까? – ryadavilli

+0

@EaterOfCorpses : 예! –

답변

3

Encoding.UTF8.GetByteCount(l_stest) 원하는 길이가 될 것 같습니다.

+0

+1 : 더욱 좋습니다! 'GetByteCount' 메소드에 대해 몰랐습니다. – leppie

+0

@ Rawling : 오, 내 생각 엔 니가 내 세이버라고 생각해! 나는 그것을주고, 몇 분 안에 받아 들일 것이다 ... –

관련 문제