>  기사  >  데이터 베이스  >  mysql의 다양한 인코딩 형식의 차이점은 무엇입니까

mysql의 다양한 인코딩 형식의 차이점은 무엇입니까

(*-*)浩
(*-*)浩원래의
2019-05-08 10:39:254415검색

mysql의 다양한 인코딩 형식의 차이점은 다음과 같습니다. ASCII 인코딩은 인코딩된 문자 집합의 문자 일련 번호를 컴퓨터에 숫자 값으로 직접 저장합니다. 이는 ASCII의 확장입니다. 인코딩 UTF-8 인코딩은 유니코드를 위한 가변 길이 문자 인코딩입니다.

mysql의 다양한 인코딩 형식의 차이점은 무엇입니까

이 글에서는 mysql의 일부 인코딩을 설명하고 소개하지만 이것이 모든 문자 집합 인코딩은 아닙니다.

추천 과정: mysql 비디오 튜토리얼

1. 문자 집합 소개

#🎜 🎜 #문자는 다양한 국가의 문자, 구두점, 그래픽 기호, 숫자 등을 포함한 다양한 문자 및 기호를 가리키는 총칭입니다.

문자 세트는 다양한 유형의 문자 집합입니다. 각 문자 세트에는 서로 다른 문자 수가 포함됩니다. 일반적인 문자 세트 이름: ASCII 문자 세트, GB2312 문자 세트 세트, GB18030 문자 세트, 유니코드 문자 세트 등 컴퓨터가 다양한 문자 집합의 텍스트를 정확하게 처리하기 위해서는 컴퓨터가 다양한 텍스트를 인식하고 저장할 수 있도록 문자 인코딩이 필요합니다.

문자 인코딩이란 문자 집합에 있는 특정 문자를 지정된 문자 집합에 있는 문자로 인코딩하여 텍스트를 컴퓨터에 저장하고 통신망을 통해 전송할 수 있도록 하는 것입니다. 일반적인 예로는 라틴 알파벳을 문자, 숫자 및 기타 기호에 번호를 매기고 이를 7비트 이진 시스템으로 나타내는 ASCII로 인코딩하는 것이 있습니다.

문자순(collation)은 동일한 문자 집합에 있는 문자 간의 비교 규칙을 의미합니다. 문자 순서를 결정한 후에만 문자 집합에서 동등한 문자가 무엇인지와 문자 간의 크기 관계를 정의할 수 있습니다. 문자에는 여러 문자 시퀀스가 ​​포함될 수 있습니다. MySQL 문자 순서 명명 규칙은 다음과 같습니다. 문자 순서에 해당하는 문자 세트 이름으로 시작하고, 국가 이름을 중심으로(또는 일반을 중심으로), ci, cs 또는 bin으로 끝납니다. ci로 끝나는 문자 시퀀스는 대소문자 구분을 나타내고, cs로 끝나는 문자 시퀀스는 대소문자 구분을 나타내며, bin으로 끝나는 문자 시퀀스는 이진 코드 값을 기반으로 한 비교를 나타냅니다. ASCII 인코딩 문자는 숫자 값으로 컴퓨터에 저장됩니다.
예: ASCII에서 A 문자는 표에서 65번째 순위이고 시퀀스 번호는 65이며 인코딩 후 A의 값은 0100 0001이며 이는 10진수로 65를 이진 변환한 결과입니다.

3. Latin1 문자 세트

Latin1 문자 세트는 ASCII 문자 세트를 기반으로 확장되었으며 여전히 1바이트를 사용하여 문자를 나타냅니다. 높은 비트가 활성화되어 문자 집합의 표현 범위가 확장됩니다.

4, UTF-8 인코딩

UTF-8(8-bit Unicode Transformation Format)은 유니코드 문자 인코딩을 위한 가변 길이입니다. 유니버설 코드라고도 합니다. 1992년 켄 톰슨(Ken Thompson)이 창안했습니다. 이제 RFC 3629로 표준화되었습니다. UTF-8은 1~6바이트를 사용하여 유니코드 문자를 인코딩합니다.

UTF-8은 가변 길이 바이트 인코딩입니다. 특정 문자의 UTF-8 인코딩의 경우 바이트가 1개인 경우 가장 높은 이진 비트는 0이고, 여러 바이트인 경우 첫 번째 바이트는 가장 높은 비트에서 시작하고 연속 이진 비트 수는 1입니다. 인코딩할 자릿수를 결정하고 나머지 바이트는 10부터 시작합니다. UTF-8은 최대 6바이트까지 사용할 수 있습니다. 표에 표시된 대로:

1바이트 0xxxxxxx

2바이트 110xxxxx 10xxxxxx 3바이트 1110xxxx 10xxxxxx 10xxxxxx 4바이트 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

5바이트 ​​1111 10xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

6 bytes 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
따라서 UTF-8에서 문자 인코딩을 나타내는 데 사용할 수 있는 실제 자릿수는 최대 31입니다. 위의 표. 제어 비트(각 바이트의 시작 부분에 10 등)를 제외하고 x로 표시되는 비트는 일대일로 인코딩된 UNICODE에 해당하며 비트 순서는 동일합니다.
UNICODE를 실제로 UTF-8 인코딩으로 변환할 때는 먼저 상위 0을 제거한 다음 나머지 인코딩 자릿수를 기준으로 필요한 최소 UTF-8 인코딩 자릿수를 결정해야 합니다. 따라서 기본 ASCII 문자 집합(ASCII와 호환되는 UNICODE)의 문자는 UTF-8 인코딩(7비트)의 1바이트로만 표현할 수 있습니다.

위 내용은 mysql의 다양한 인코딩 형식의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.