>  기사  >  Java  >  Java 코드에 다이아몬드 깨짐 문자가 나타납니까?

Java 코드에 다이아몬드 깨짐 문자가 나타납니까?

Guanhui
Guanhui원래의
2020-06-08 09:47:003684검색

Java 코드에 다이아몬드 깨짐 문자가 나타납니까?

Java 코드에 다이아몬드 깨짐 문자가 나타납니까?

Java 코드에서 다이아몬드 모양의 왜곡된 문자가 나타납니다. 일반적으로 문자 세트 문제로 인해 발생합니다. 예를 들어 Java 파일은 GBK로 인코딩되지만 편집기가 UTF-8 인코딩으로 Java 파일을 열면 이런 종류가 발생합니다. 해결 방법은 편집기의 인코딩을 Java 파일과 동일한 인코딩으로 변경하는 것입니다.

인코딩

인코딩은 정보를 한 형식에서 다른 형식으로 변환하는 프로세스로, 컴퓨터 프로그래밍 언어의 코딩이라고도 합니다. 문자, 숫자 또는 기타 물체를 숫자로 인코딩하거나 정보 및 데이터를 규정된 전기 펄스 신호로 변환하려면 미리 정해진 방법을 사용하십시오. 코딩은 전자 컴퓨터, 텔레비전, 리모콘 및 통신에 널리 사용됩니다. 인코딩은 정보를 한 형식이나 형식에서 다른 형식으로 변환하는 프로세스입니다. 디코딩은 인코딩의 역과정입니다.

GB 인코딩 표준 중 가장 일반적으로 사용되는 두 가지는 GB2312와 GBK입니다. GB2312 인코딩 범위는 0xA1A1 - 0xFEFE이지만 처리가 매우 간단합니다. GBK 문자 처리 수집 시 몇 가지 작은 팁이 있습니다. 먼저 GBK 인코딩 표준에 대해 이야기해 보겠습니다.

GBK는 더블바이트 표현을 사용하고 전체 인코딩 범위는 8140-FEFE이며 첫 번째 바이트는 81-FE이고 마지막 바이트는 81-FE입니다. 바이트가 40-FE 사이에 있습니다. 그 사이에 xx7F 줄을 제거합니다. 총 23,940개의 코드포인트가 있으며, 한자(부수 및 구성요소 포함) 21,003개와 그래픽 기호 883개를 포함하여 총 21,886개의 한자와 그래픽 기호가 포함되어 있습니다.

인코딩 분류

1. 한자 영역. 포함:

a. GB 2312 한자 영역. GBK/2: B0A1-F7FE입니다. 원래 순서대로 정렬된 6763GB 2312개의 한자가 포함되어 있습니다.

b. GB 13000.1 한자 영역이 확장되었습니다. 포함:

(1) GBK/3: 8140-A0FE. GB 13000.1에는 6080개의 CJK 중국어 문자가 포함되어 있습니다.

(2) GBK/4: AA40-FEA0. 8160개의 CJK 한자와 보충 한자가 포함되어 있습니다.

CJK 한자는 앞쪽에 UCS 코드 크기에 따라 배열되고, 보조 한자(부수 및 구성 요소 포함)는 뒤쪽에 "강희사전"의 페이지 번호/문자 위치에 따라 배열됩니다.

2. 그래픽 기호 영역. 포함:

a. GB 2312 비한자 기호 영역. GBK/1: A1A1-A9FE입니다.

에는 GB 2312 기호 외에도 10개의 소문자 로마 숫자와 GB 12345의 보조 기호가 있습니다. 총 717개의 기호가 있습니다.

b. GB 13000.1 한자가 아닌 문자 영역을 확장합니다. GBK/5: A840-A9A0입니다. BIG-5 비한자, 구조기호 및 "○"가 배열된 영역입니다. 총 166개의 기호가 있습니다.

3. 사용자 정의 영역: (1) (2) (3)의 세 영역으로 구분됩니다.

(1) AAA1-AFFE, 564 코드 포인트.

(2) F8A1-FEFE, 658 코드 포인트.

(3) A140-A7A0, 672 코드 포인트.

(3) 영역은 사용자에게 개방되어 있지만 향후 이 영역에 새로운 캐릭터가 추가될 가능성도 배제할 수 없기 때문에 사용이 제한됩니다.

다음은 몇 가지 팁입니다.

1. PHP에서는 전송된 인코딩을 기반으로 문자 인코딩이 이루어지기 때문에 사용자가 입력한 인코딩이 사용되며 ASP에서는 기본 인코딩이 유니코드입니다. , 따라서 gbk->unicode의 인코딩 비교 테이블을 쉽게 얻을 수 있으므로 기본 라이브러리 없이도 gbk에서 utf-8로의 변환이 쉽게 이루어질 수 있습니다.

2. GBK의 상위 비트의 가장 낮은 값은 0x40이므로; , 이는 64이므로 때로는 중국어와 관련된 일부 문자열을 구성할 때 문자를 구분하기 위해 64 이전의 ASCII 코드를 사용하는 것이 가장 좋습니다. 그러면 어떤 상황에서도 더 일반적으로 사용되는 문자를 바꾸거나 나눌 때 잘못된 문자가 나타나지 않습니다. ",", ";", ":", " ", " ", " "입니다. 이러한 문자는 gb 인코딩에 혼동을 일으키지 않습니다.

권장 튜토리얼: "Java Tutorial"

위 내용은 Java 코드에 다이아몬드 깨짐 문자가 나타납니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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