2011-10-24 1 views
2

유니 코드를 정확히 사용하는 방법에 대한 정보는 많이 찾지 못했습니다. 많은 사람들이 항상 최선의 방법은 유니 코드를 사용하는 것이라고 말합니다. 그러나 유니 코드 문자열에는 더 많은 메모리가 필요합니다. 내가 사용하는 유니 코드 (예 : 디버깅) 지역이 아닌 다른 화면을 에만유니 코드를 사용할 때 (유니 코드가 아닌 경우)

  • 인쇄 뭔가를 사용해야한다는 말을 수정하고있다.
  • 일반적으로, 두 끝이 다른 로케일에있는와 네트워크를 통해 텍스트의 모든 유형을 보내는 국가/당신이 누군가가 설명한다면 도움이 될 것이라고 생각

를 사용할지 확실하지

  • ... 실제로 유니 코드에 어떤 일이 발생하는지에 대해 (휴대용) 기본 내가 때 상황이 혼란스러워 말을 정정 이니

    • 물리적 (바이트) 문자열이 문자열의 표현을 (를 사용하여 컴퓨터에 보내집니다 코드 페이지, 기타 ... 번째 은 이미 세부 사항이지만 흥미 있음).

    문맥이 프로그래밍 언어 (예 : C++)에서 유니 코드를 사용하고 있지만이 질문에 대한 답변을 모든 인코딩 상황에 사용할 수 있기를 바랍니다.
    유니 코드와 NLS가 같은 것은 아니라는 것을 알고 있습니다 만, NLS가 유니 코드의 사용을 암시한다고 말하는 것이 맞습니까?

    P. 멋진 사이트

  • 답변

    5

    항상을 사용하면 Unicode을 사용하면 다른 사람에게 많은 고통을주지 않습니다.

    혼동 스러울 수있는 것은 인코딩 문제입니다. 유니 코드 문자열 은 반드시 해당 ASCII (또는 다른 인코딩) 문자열보다 많은 메모리를 사용하며, 사용되는 인코딩에 따라 많이 달라집니다.

    간혹 "유니 코드"는 "UCS-2"또는 "UTF-16"의 동의어로 사용됩니다. 정확하게 "유니 코드"는 문자 세트와 유니 코드 코드 포인트를 정의하는 표준이기 때문에 엄밀히 말하면 입니다. 이 아니기 때문에은 바이트 (또는 단어)에 대한 매핑을 정의합니다. UTF-16, UTF-8 및 기타 인코딩은 문자를 구체적인 바이트에 매핑하는 작업을 대신합니다.

    +1

    UTF-8로 인코딩 된 ASCII 문자열에 대해 더 이상 공간을 필요로하지 않는다는 것이 절대적으로 옳습니다. 이것은 대부분의 유니 코드 텍스트가 디스크로 전송되거나 저장되는 방식입니다. – andrewmu

    +0

    @Joachim Sauer : 유니 코드 지원 데이터 형식을 데이터베이스에 사용하면 일반 문자열보다 많은 공간을 차지하지 않겠습니까? 나는 여기에 비슷한 질문을했다. http://stackoverflow.com/questions/7860643/to-use-unicode-or-not-in-web-development-project-using-flask-and-sqlalchemy – codecool

    +0

    @codecool : 이는 데이터베이스에서 사용하는 인코딩에 따라 다릅니다. UTF-8을 사용하는 경우 ASCII (즉, 대부분의 영어 텍스트)로도 표현할 수있는 텍스트를위한 공간이 더 필요하지 않습니다. –

    4

    유니 코드의 장점은 제한과 많은 두통으로부터 자유로울 수 있다는 것입니다. 유니 코드는 현재까지 사용할 수있는 가장 큰 문자 세트입니다. 즉, 오늘날 사용되는 중간 언어의 문자를 실제로 인코딩하고 사용할 수 있습니다. 다른 문자 집합을 사용하면 실제로 문자를 인코딩 할 수 있는지 여부를 생각할 필요가 있습니다. Latin-1은 "あ"문자를 인코딩 할 수 없으며 Shift-JIS는 "ڥ"문자를 인코딩 할 수 없습니다. 라틴어 -1, BIG-5, Shift-JIS 또는 ASCII와 같은 특수 인코딩을 선택해야하는 경우 라하더라도 기본 라틴/아랍어/일본/기타 문자의 다른 하위 세트는 절대 필요하지 않을 것입니다.

    유니 코드는 사용할 수있는 가장 다양한 문자셋이므로 준수해야 할 표준입니다.

    유니 코드 인코딩은 특별한 것이 아니며 공간 효율성을 유지하면서 더 많은 문자를 인코딩해야하므로 비트 표현이 조금 복잡합니다. 이 주제에 대한 자세한 여행은 What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text을 참조하십시오.

    +1

    +1 특히 obLink의 경우. – tripleee

    1

    가끔씩 문자 인코딩의 차이를 보는 데 도움이되는 약간의 유틸리티가 있습니다. http://sodved.awardspace.info/unicode.pl. öRaw (UTF-8) 필드에 붙여 넣으면 다른 인코딩의 다른 바이트 시퀀스로 표시됩니다. 다른 두 가지 좋은 대답이 설명하는 것처럼 일부 비 유니 코드 인코딩은 전혀 표현할 수 없습니다.

    +0

    좋은 것 같습니다하지만 불행히도 사무실에서 확인할 수 없습니다 : 트렌드 마이크로의 OfficeScan 이벤트 \t \t URL \t 액세스를 시도하는 URL은 잠재적 인 보안 위험 차단. Trend Micro OfficeScan이 네트워크 보안 정책에 따라이 URL을 차단했습니다. URL : \t http://sodved.awardspace.info/unicode.pl 위험 수준 : \t 위험한 세부 사항 : – Kharski

    +0

    Awardspace 그냥 무료 호스팅 사이트입니다 \t 검증 사기 페이지 또는 위협 소스. 누군가 다른 사람이 과거에 끔찍한 일을했다고 생각해보십시오. – Sodved