1. ASII
미국(국가) 정보 교환 표준(코드) 코드입니다.
컴퓨터에는 숫자만 있고 모든 것은 숫자로 표현되며 화면에 표시되는 문자도 예외는 아닙니다.
1바이트로 표현할 수 있는 숫자는 0~255인데, 이는 키보드의 모든 문자를 표시하기에 충분한 숫자입니다. 예를 들어 a는 97이고 b는 98입니다. 숫자와 문자에 해당하는 이 인코딩 규칙을 Asc11 코드라고 합니다. ASC11 코드의 최상위 비트는 모두 0입니다. 즉, ASC11 코드의 값은 0~127 사이입니다.
2. GB2312 및 GBK(중국 지역 문자 집합)
중국 본토에서는 한자를 2바이트로 표현하며, 한자의 첫 번째 바이트의 최상위 비트는 1입니다. 이 인코딩 형식을 (gb2312) 국가 표준 코드라고 합니다. 그러면 gb2312 코드에 해당하는 숫자는 음수입니다.
gb2312를 기반으로 GBK라는 중국어 번체 문자와 같은 일부 문자가 더 추가되었습니다. 인코딩은 더 이상 필수 한자를 수용할 수 없으므로 더 많은 한자 인코딩을 지원하기 위해 24비트 혼합 방법이 채택되었습니다.
3. ANSIASCII 인코딩을 확장하여 자국어를 표시하기 위해 국가와 지역마다 서로 다른 표준을 제정하여 GB2312, BIG5, JIS 및 기타 해당 인코딩 표준이 탄생했습니다. 문자를 표현하기 위해 2바이트를 사용하는 이러한 다양한 중국어 확장 인코딩 방법을 ANSI 인코딩이라고 하며 "MBCS(Muilti-Bytes Charecter Set, 멀티바이트 문자 집합)"라고도 합니다. 중국어 간체 시스템에서 ANSI 인코딩은 GB2312 인코딩을 나타냅니다. 따라서 일본어 운영 체제에서 ANSI 인코딩은 JIS 인코딩을 나타냅니다. 따라서 중국어 창에서 gb2312로 트랜스코딩하려면 gbk가 텍스트를 ANSI 인코딩으로 저장하기만 하면 됩니다. 서로 다른 ANSI 인코딩은 서로 호환되지 않습니다.
4. 로컬 문자 집합중국 본토에서 사용되는 컴퓨터 시스템에서는 GBK 및 GB2312를 시스템의 로컬 문자 집합이라고 합니다.
"中國"의 한자는 중국 본토의 인코딩은 16진수로 D6D0이고, 대만에서는 A4A4입니다. 대만의 인코딩은 BIG5 Big Five 코드라고 합니다. 한 국가의 현지화 시스템에서 캐릭터가 등장하고 이메일을 통해 다른 국가의 현지화 시스템으로 전송되면, 보이는 것은 원래의 캐릭터가 아닌 다른 나라의 캐릭터나 왜곡된 캐릭터입니다.
5. 유니코드 인코딩
ISO 조직에서는 전 세계적으로 통일된 기호를 보유하고 있으며 이를 유니코드 인코딩이라고 부릅니다.
기호 "中"은 전 세계적으로 16진수 4e2d를 의미합니다.모든 컴퓨터가 유니코드 인코딩을 사용하는 경우 "中"이라는 단어는 전 세계 컴퓨터에서 "中"으로 표시됩니다. 유니코드로 인코딩된 문자는 2바이트를 차지합니다. AC11 코드로 표시되는 문자의 경우 모든 비트가 포함된 바이트를 추가합니다. AS11 코드가 원래 차지했던 바이트 앞에 0이 표시됩니다. 문자 수는 65535를 초과하지 않습니다. 실제로는 2,000개가 넘는 값을 인코딩에 사용하지 않습니다.
유니코드는 아직 통일된 세계를 형성하지 못했습니다. 오랫동안 지역화된 문자 인코딩이 유니코드 인코딩과 공존할 것입니다. Java의 문자는 모두 유니코드 인코딩을 사용합니다.
Java는 유니코드를 통한 크로스 플랫폼 기능 보장을 전제로 로컬 플랫폼 문자 집합도 지원합니다.
6. UTF-8Java 언어 및 기타 프로그램의 개발 과정에서 특히 XML에는 UTF-8 UTF-16이 포함됩니다. 넓은 의미의 유니코드에는 UTF8 및 utf-16UTF-8
도 포함됩니다. ASC11 코드 문자는 그대로 유지되며 1바이트만 차지합니다.
--다른 국가의 문자의 경우 UTF-8은 2바이트 또는 3바이트를 사용하여 표시합니다.
--UTF-8로 인코딩된 파일을 사용하는 경우 일반적으로 파일 시작 부분의 3바이트 데이터로 EF BB BF를 사용합니다.
7. UTF-8과 유니코드 인코딩 간의 변환 규칙-- 0001-007f(1바이트)0xxxxxx
-- 0000 또는 0080과 07ff 사이의 문자,
110xxxxx 10xxxxxx(유효 비트 11개) ) (0080-07ff 사이) 유니코드에는 16비트가 있지만 실제로 유효한 비트는 11개뿐이고 나머지는 플래그입니다.
--0800과 ffff, 1110xxxx 10xxxxxx 10xxxxxx(16개의 유효 비트) 사이의 문자, 소프트웨어는 UTF-8 인코딩의 고정 비트 값을 기반으로 문자가 1바이트를 차지하는지, 아니면 3바이트를 차지하는지 쉽게 결정할 수 있습니다. 바이트.
8. UTF-8의 장점-- ox00이 나타나지 않습니다(C 언어에서는
ue로 열어서 16진수를 확인하면 C1AA CDA8 C1AA CFE8 //중간이면 D6D0, 즉 C1AA가 연결되고 CDA8이 CFE8에 연결됩니다.
int x=0xCDA8; System.out.println(Integer.toBinaryString(x) );
//11000001 10101010 Lian 11001101 10101000 메모장의 파일은 기본적으로 중국어 문자 집합 GB2312에 따라 저장되므로 "Lian"이라는 단어는 다음과 같은 방법으로 이진 표현을 얻을 수 있습니다. 1100 0001 1010 1010으로 구문 분석되었으며 문자는 1100 1101 1010 1000으로 저장되었습니다. 메모장 문서를 열었을 때 이러한 이진 형식은 우연히 UTF-8 규칙에 해당하므로 시스템은 이것을 UTF-8 인코딩 파일로 간주했습니다. UTF-8로 해석되어 잘못된 문자가 나타납니다. 해결 방법: 저장할 때 UTF-8을 직접 눌러 저장하면 나타나지 않습니다.
10. 프로그램을 사용해 문자 인코딩을 확인하세요한자의 GB2312 코드를 확인하세요
한자의 UTF-8 코드를 확인하세요
한자의 유니코드 코드를 확인하세요
public static void main(String[] args) throws UnsupportedEncodingException { String str="中国"; //查看字符的unicode码,将一个字符转成整数,得到的就是unicode值/* for(int i=0;i<str.length><div class="cnblogs_code"></div></str.length>
위 내용은 Java 기본 소개를 위한 문자 인코딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

신흥 기술은 위협을 일으키고 Java의 플랫폼 독립성을 향상시킵니다. 1) Docker와 같은 클라우드 컴퓨팅 및 컨테이너화 기술은 Java의 플랫폼 독립성을 향상 시키지만 다양한 클라우드 환경에 적응하도록 최적화되어야합니다. 2) WebAssembly는 Graalvm을 통해 Java 코드를 컴파일하여 플랫폼 독립성을 확장하지만 성능을 위해 다른 언어와 경쟁해야합니다.

다른 JVM 구현은 플랫폼 독립성을 제공 할 수 있지만 성능은 약간 다릅니다. 1. OracleHotspot 및 OpenJDKJVM 플랫폼 독립성에서 유사하게 수행되지만 OpenJDK에는 추가 구성이 필요할 수 있습니다. 2. IBMJ9JVM은 특정 운영 체제에서 최적화를 수행합니다. 3. Graalvm은 여러 언어를 지원하며 추가 구성이 필요합니다. 4. AzulzingJVM에는 특정 플랫폼 조정이 필요합니다.

플랫폼 독립성은 여러 운영 체제에서 동일한 코드 세트를 실행하여 개발 비용을 줄이고 개발 시간을 단축시킵니다. 구체적으로, 그것은 다음과 같이 나타납니다. 1. 개발 시간을 줄이면 하나의 코드 세트 만 필요합니다. 2. 유지 보수 비용을 줄이고 테스트 프로세스를 통합합니다. 3. 배포 프로세스를 단순화하기위한 빠른 반복 및 팀 협업.

Java'SplatformIndenceFacilitatesCodereScoderEByWatHeAveringByTeCodetOrunonAnyPlatformwitHajvm.1) DevelopersCanwriteCodeOnceforConsentEStentBehaviorAcRossPlatforms.2) MAINTENDUCEDSCODEDOES.3) LIBRRIESASHSCORAREDERSCRAPERAREDERSPROJ

Java 응용 프로그램의 플랫폼 별 문제를 해결하려면 다음 단계를 수행 할 수 있습니다. 1. Java의 시스템 클래스를 사용하여 시스템 속성을보고 실행중인 환경을 이해합니다. 2. 파일 클래스 또는 java.nio.file 패키지를 사용하여 파일 경로를 처리하십시오. 3. 운영 체제 조건에 따라 로컬 라이브러리를로드하십시오. 4. visualVM 또는 JProfiler를 사용하여 크로스 플랫폼 성능을 최적화하십시오. 5. 테스트 환경이 Docker Containerization을 통해 생산 환경과 일치하는지 확인하십시오. 6. githubactions를 사용하여 여러 플랫폼에서 자동 테스트를 수행하십시오. 이러한 방법은 Java 응용 프로그램에서 플랫폼 별 문제를 효과적으로 해결하는 데 도움이됩니다.

클래스 로더는 통합 클래스 파일 형식, 동적로드, 부모 위임 모델 및 플랫폼 독립적 인 바이트 코드를 통해 다른 플랫폼에서 Java 프로그램의 일관성과 호환성을 보장하고 플랫폼 독립성을 달성합니다.

Java 컴파일러가 생성 한 코드는 플랫폼 독립적이지만 궁극적으로 실행되는 코드는 플랫폼 별입니다. 1. Java 소스 코드는 플랫폼 독립적 인 바이트 코드로 컴파일됩니다. 2. JVM은 바이트 코드를 특정 플랫폼의 기계 코드로 변환하여 크로스 플랫폼 작동을 보장하지만 성능이 다를 수 있습니다.

멀티 스레딩은 프로그램 대응 성과 리소스 활용을 향상시키고 복잡한 동시 작업을 처리 할 수 있기 때문에 현대 프로그래밍에서 중요합니다. JVM은 스레드 매핑, 스케줄링 메커니즘 및 동기화 잠금 메커니즘을 통해 다양한 운영 체제에서 멀티 스레드의 일관성과 효율성을 보장합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
