문자열 인코딩의 정확한 판단은 다른 소스에서 텍스트 데이터를 처리하는 데 중요합니다. 이 기사는 C#에서이 목표를 효율적으로 달성하는 방법을 살펴볼 것입니다.
명시 적 선언없이 문자열의 인코딩을 결정하는 몇 가지 방법이 있습니다.
가 제공 한 코드는 세 가지 방법을 모두 결합하여 문자열의 인코딩을 결정합니다. 첫 번째는 BOM 감지입니다. BOM을 찾을 수없는 경우 코드는 검출기를 사용하여 UTF-8 및 UTF-16과 같은 공통 인코딩을 휴식으로 식별합니다. 마지막으로, 적절한 인코딩이 발견되지 않으면 시스템의 기본 코드 페이지로 돌아갑니다.
이 코드는 인코딩을 감지 할뿐만 아니라 디코딩 된 텍스트를 반환하여 필요한 정보를 전체적으로 제공합니다.
다음 C# 코드는이 솔루션을 구현합니다.
public Encoding detectTextEncoding(string filename, out String text, int taster = 1000)
{
// 检查BOM
// 为简洁起见省略
// 基于探测器的编码检测
bool utf8 = false;
int i = 0;
while (i
이 코드를 사용하려면 파일 경로를 문자열로 제공하고 감지 된 인코딩 된 인코딩 및 디코딩 된 텍스트를 출력 매개 변수로 검색합니다. 예는 다음과 같습니다.
```C# 문자열 텍스트; 인코딩 인코딩 = DetectTextEncoding ( "my_file.txt", out 텍스트); console.writeLine ( "감지 인코딩 :"encoding.encodingName); Console.writeLine ( "디코딩 된 텍스트 :"텍스트); ```대체로,이 코드는 C#에서 문자열의 인코딩을 결정하는 강력한 방법을 제공하여 BOM 및 휴리스틱 점검을 활용하여 정확한 탐지를 보장합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3