문제

거의 5 년 전 조엘 Spolsky 이 기사를 썼, "최소한으로 모든 소프트웨어 개발자가 절대적으로 긍정적으로 이에 대해 알고 있어야 합니코드와 캐릭터 설정(No Excuses!)".

많은처럼,나는 주의 깊게 읽을 실현,그 높은-경 및 업데이트를 포함하여 그 이"교체를 위해 ASCII".불행하게도,5 년 나는 느낌을 내가 다시 하락했으로 몇몇에 있는 나쁜 습관은 이 영역입니다.신가?

내가 쓰지 않는 많은 특히 국제 응용 프로그램이있다,그러나이 도움이드 ASP.NET 인터넷 웹사이트,그래서 나는 생각하지 않는 핑계로 삼아서는 안 된다.

그래서 나의 이득을 위해(그리고 내가 믿고 많은 다른 사람)를 얻을 수 있습니 일부 입력들을 다음과 같다:

  • 하는 방법"얻는"ASCII 고 한번에 모든
  • 기본적인 지침으로 작업할 때는 유니코드를 기반으로 합니다.
  • 추천(최근)에 책과 웹사이트에 유니코드(에 대한 개발자).
  • 의 현재 상태에서는 유니코드(후 5 년 Joels'사)
  • 미래의 방향입니다.

가격을 찾을 수 없습니다..NET 배경과 그 것 또한 행복에 대한 정보는 유니코드에.NET framework.물론 이것은 사랑으로 서로 다른 배경에서 주석을 하지만입니다.

업데이트:보 이와 관련된 질문 또한 물에서 유래된다.

도움이 되었습니까?

해결책

이후 나는 읽 Joel 문서와 다른 I18n 기사가 항상 눈이 내 문자 인코딩;고 그것이 실제로 작동하는 경우에 당신이 그것을 일관되게.에서 작업하는 경우 회사는 그것은 표준을 UTF-8 을 사용하고 모두 이것을 알고 있/이 작동합니다.

여기에 몇 가지 흥미로운 기사(외엘의 문서에서는)주제:

견적 처음부터 문서;을 위한 팁을 사용하는 유니코드:

  • 포용하는 유니코드,싸우지 않는다;그것은 아마 올바른 일을 하시고,없었다면 당신은 아마이 있을 수 있습니다.
  • 내부 소프트웨어,저장 텍스트로 UTF-8 또는 UTF-16 일;말하자면,하나를 선택의 두 가지고 그것으로 스틱.
  • 데이터 교환 외부 세계와 XML 을 사용하여 가능한 한;이것은 전체 무리의 잠재적인 문제는 해결됩니다.
  • 을 만들려고 애플리케이션은 브라우저 기반기보다는 자신의 클라이언트;브라우저 얻고 있는 정말 아주 좋은 거래에서의 텍스트와 세계.
  • 를 사용하는 경우 다른 사람의 라이브러리 코드(그리고 물론 당신은)가정의 유니코드 취급이 끊긴 때까지 증명했다.
  • 만약 당신이 하려고 손 언어와 문자 처리 문제를 이해하는 사람들.
  • 이동해 아마존이나 어딘가에 구입할 최신 버전의 유니코드 인쇄 기준;그것은 포함 꽤 잘 알아야 할 모든 것을.
  • 시간을 보내고 파고 주위 유니코드 웹사이트는 방법을 배우는 코드 차트 작동합니다.
  • 당신이해야 할 모든 심각한 작품으로 아시아 언어,가을 구입 O'reilly 책 주제에 켄 Lunde.
  • 는 경우 당신은 매킨토시,실행하고 잡아 주는 픽셀의 유니코드 글꼴 검사 도구입니다.완전히 멋진 있습니다.
  • 만약 당신이 정말로 가야하는 경이로운 데이터 이동 중 하나에 참석한 두 번 올해 유니코드 컨퍼런스.모든 전문가로 이동하고 알지 못하는 경우 당신은 무엇을 알 필요할 수 있는 사람을 찾아가 알고있는 사람이다.

다른 팁

을 보냈는 동안 작업을 검색 엔진 소프트웨어-당신은 믿지 않을 것 얼마나 많은 웹사이트 컨텐츠를 제공하는 HTTP 헤더 또는 메타 태그에 대해 거짓말의 인코딩 페이지입니다.종종,당신은 심지어는 문서를 얻을 모두 포함하는 ISO-8859 문자와 UTF-8 자입니다.

면을 앓은 적을 통해 사람들의 몇 종류의 문제를 복용하기 시작하는 적절한 문자 인코딩의 데이터를 생산이 정말 심각합니다.

니다.NET Framework 윈도우를 사용하고 기본 인코딩을 저장하기 위한 문자열에는 것으로 밝혀졌 UTF-16.를 지정하지 않은 경우 인코딩할 때 가장 많이 사용하는 텍스트 I/O 클래스를 작성합니다 UTF-8 이 없 BOM 읽을 먼저 확인에 대한 BOM 그런 가정하에 UTF-8 일(나는 확실히 알 StreamReaderStreamWriter 행동이 방법입니다.) 이것은 매우 안전하다"에 대한 바보"텍스트 편집기에는 이해하지 못할 BOM 지 종류의 조악한 더 똑똑하는 사람을 표시할 수 있습니다 UTF-8 이나 상황에 당신은 실제로는 이외의 문자를 ASCII 표준 범위에 있습니다.

일반적으로 이것은 보이지 않지만,그것은 그것의 머리에서 재미있게 만들어 가는 것입니다.어제 저와 함께 일하는 사람 XML 을 사용하여 직렬화를 직렬화하는 개체를 문자열을 사용하여 StringWriter, 며,그 이유를 알아 인코딩되었는 항상 UTF-16.이 문자열에서 메모리가 될 것입니 UTF-16 이 적용됩니다.NET,는 XML serialization 프레임워크를 할 수 있습니다.

그래서 때,나는 뭔가를 쓰지 않는 그냥 버리 도구,내가 지정 UTF-8 인코딩을 가진 BOM.기술적으로습니다.NET 당신은 항상 실수로는 유니코드 인식하지만,경우에만 귀하의 사용자가 알 수 있을 감지하는 인코딩에 UTF-8 을 얻을 수 있습니다.

그것은 나에게 눈물을 흘리시 누군가에게 물어,"어떻게 내가 바이트의 문자열이까?"라고 제안된 솔루션을 사용하는 Encoding.ASCII.GetBytes() :(

엄지 손가락의 규칙:지 않은 경우 munge 또는 내부 문자열과 대신 치료를 엄격하게로의 덩어 데이터는,당신은 훨씬 더 좋다.

심지어 같은 간단한 단어를 분할 또는 소문자로 표시 문자열은 힘든 일을 하려는 경우 그것은"유니코드 방법".

고 당신이 원하는 경우 그것은"유니코드 방법으로"당신 너무 좋은 라이브러리입니다.이 재료는 매우 복잡합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top