문제

누구든지 Google 검색을 수행 할 것을 권장하기 전에 이에 대해 검색합니다. 코드 페지와 인코딩에 대해 조금 더 명확해야합니다.

UTF8 인코딩을 사용하고 이탈리아 코드 페이지와 프랑스어 코드 페이지를 사용하는 경우 바이트가 변경되지 않더라도 다른 문자를 얻지 못합니까?

도움이 되었습니까?

해결책

Joel은 이것에 대한 좋은 요약을 가지고 있습니다.
http://www.joelonsoftware.com/articles/unicode.html

그리고 아니요. 귀하의 질문을 올바르게 이해한다고해서 그렇게 의미하지는 않습니다. UTF-8을 특정 코드 페이지로 변환하면 일부 문자 만 변환 될 수 있습니다. 변환되지 않은 사람들에게는 발생하는 일은 변환을 부르는 방법에 따라 다릅니다. 가능한 결과는 코드 페이지에 매핑 할 수없는 문자가 물음표 문자로 변환됩니다.

다른 팁

인코딩은 단순히 숫자 값과 "문자"사이의 매핑입니다.

US-ASCII는 숫자 65를 문자 A에, 32는 공간에, 49는 "1"으로 맵핑됩니다. (이러한 것들이 어떻게 렌더링되는지는 또 다른 문제입니다.) 사실, UTF-8은 동일합니다! 그러나 UTF-8이 ASCII와 다르게 취급하는 다른 값이 있습니다. 가변 길이 인코딩, 즉 문자는 1, 2, 3 또는 4 바이트로 인코딩 될 수 있습니다. 일반적인 문자는 일반적으로 적은 바이트를 소비합니다.

웹 페이지를 포함한 일반 텍스트 파일은 바이트 시퀀스로 저장 및 전송됩니다. 이 바이트는 텍스트를 나타내는 것으로 간주됩니다. 소프트웨어 응용 프로그램 (텍스트 편집기 및 웹 브라우저와 같은)은 화면의 이러한 파일 내에서 정보를 줄일 책임이 있습니다. 일반적으로 라이브러리 또는 OS 기능을 사용합니다.

소프트웨어가 파일을 만든 소프트웨어에 대한 다른 인코딩을 가정하면 잘못된 문자가 표시 될 수 있습니다!

다른 인코딩 사이에서 변환 할 수 있습니다. 그러나 특정 문자가 포함되어 있지 않은 인코딩으로 변환하는 경우 소프트웨어는 대신 사용 할 내용을 선택해야합니다. 이 변환은 종종 투명하게 발생합니다 (특정 인코딩이있는 파일을 저장할 때 타이핑 한 것은 해당 인코딩으로 변경해야합니다).

UTF-8에는 프랑스어 및 이탈리아 코드 페이지의 모든 문자가 포함되어 있지만 언어 별 코드 페이지에는 서로 모든 문자가 포함되어 있지 않습니다.

따라서 각 언어에서 입력하고 저장을 위해 UTF-8로 변환 할 수 있지만 이탈리아 입력을 취하고 프랑스어로 표시하면 올바른 캐릭터를 얻을 수 있다고 확신 할 수 없습니다.

가능하다면 UTF-8을 모두 사용하십시오.

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