Rumah tutorial komputer pengetahuan komputer Bagaimana untuk menukar rentetan kepada pengekodan GB2312 di Java?

Bagaimana untuk menukar rentetan kepada pengekodan GB2312 di Java?

Jan 20, 2024 am 08:42 AM

Bagaimana untuk menukar rentetan kepada pengekodan GB2312 di Java?

Cara menukar rentetan kepada pengekodan asal GB2312 dalam Java

@Ujian

ujian kekosongan awam333(){

String a="青白";

cuba {

bait[] b=a.getBytes("GB2312");

System.out.println(bytesToHexFun1(b));

} tangkapan (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

//Tukar tatasusunan bait kepada rentetan perenambelasan

String statik awam baitToHexFun1(bait[] bait) {

char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5',

'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', ​​​​'f'};

// Satu bait ialah 8 bit dan boleh dikenal pasti dengan dua digit heksadesimal

char[] buf = aksara baharu[bytes.length * 2];

int a = 0;

int indeks = 0;

for(bait b : bait) { // Tukar menggunakan pembahagian dan baki

jika(b

a = 256 + b;

} lain {

a = b;

}

buf[index++] = HEX_CHAR[a/16];

buf[index++] = HEX_CHAR[a % 16];

}

kembalikan String(buf) baharu.

}

Idea utama ialah menukarnya terlebih dahulu menjadi tatasusunan GB2312 bait, dan kemudian menukarnya menjadi perenambelasan.

masalah penukaran java String Byte

1. Keluarkan bahasa Cina di halaman web.

Pengekodan yang digunakan oleh JAVA dalam penghantaran rangkaian ialah "ISO-8859-1", jadi ia perlu ditukar semasa mengeluarkan, seperti:

String str="中文";

str=new String(str.getBytes("GB2312"),"8859_1");

Tetapi jika pengekodan yang digunakan semasa menyusun atur cara adalah "GB2312" dan program dijalankan pada platform Cina, masalah ini tidak akan berlaku, jadi pastikan anda memberi perhatian.

2. Baca bahasa Cina daripada parameter

Ini betul-betul bertentangan dengan output pada halaman web:

str=new String(str.getBytes("8859_1"),"GB2312");

3 Uruskan isu Cina dalam DB

Kaedah yang lebih mudah ialah: dalam "Panel Kawalan", tetapkan "Wilayah" kepada "Bahasa Inggeris (Amerika Syarikat)". Jika aksara bercelaru masih muncul, anda juga boleh membuat tetapan berikut:

Apabila mendapat bahasa Cina: str=new String(str.getBytes("GB2312"));

Masukkan bahasa Cina ke dalam DB: str=new String(str.getBytes("ISO-8859-1"));

4 penyelesaian Cina dalam jsp:

Dalam "Panel Kawalan", tetapkan "Wilayah" kepada "Bahasa Inggeris (Amerika Syarikat)".

Tambah ke halaman JSP:

Jika masih tidak dapat dipaparkan seperti biasa, penukaran berikut mesti dilakukan:

Contohnya: name=new String(name.getBytes("ISO-8859-1"),"GBK");

Tiada masalah Cina.

Penukaran jenis rentetan java

Saya jumpa satu dalam talian, cubalah:

/**

* unicode ke rentetan

* @param str

* @kembali

*/

String statik awam unicode2Str(String str) {

StringBuffer sb = StringBuffer();

String[] arr = str.split("\\u");

int len ​​​​= arr.length;

sb.append(arr[0]);

untuk(int i=1; i

String tmp = arr[i];

char c = (char)Integer.parseInt(tmp.substring(0, 4), 16);

sb.append(c);

sb.append(tmp.substring(4));

}

kembali sb.toString();

}

/**

* Tukar rentetan kepada unicode

* @param str

* @kembali

*/

String statik awam str2Unicode(String str) {

StringBuffer sb = StringBuffer();

char[] charArr = str.toCharArray();

untuk (char ch : charArr) {

jika (ch > 128) {

sb.append("\u" + Integer.toHexString(ch));

} lain {

sb.append(ch);

}

}

kembali sb.toString();

}

utama kekosongan statik awam(String[] args) {

System.out.println(str2Unicode("222dstest1testaa"));

String str = "u6d4b1u8bd5aa";

System.out.println(unicode2Str(str));

}

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada pengekodan GB2312 di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya mengedit pendaftaran? (Amaran: Gunakan dengan berhati -hati!) Bagaimana saya mengedit pendaftaran? (Amaran: Gunakan dengan berhati -hati!) Mar 21, 2025 pm 07:46 PM

Artikel membincangkan penyuntingan Windows Registry, Langkah berjaga -jaga, kaedah sandaran, dan isu -isu yang berpotensi dari suntingan yang salah. Isu utama: Risiko ketidakstabilan sistem dan kehilangan data dari perubahan yang tidak wajar.

Ketahui Cara Memperbaiki Amaran Kesihatan Drive dalam Tetapan Windows Ketahui Cara Memperbaiki Amaran Kesihatan Drive dalam Tetapan Windows Mar 19, 2025 am 11:10 AM

Apakah peringatan kesihatan pemacu dalam tetapan Windows dan apa yang perlu anda lakukan apabila anda menerima amaran cakera? Baca tutorial Php.CN ini untuk mendapatkan arahan langkah demi langkah untuk mengatasi keadaan ini.

Bagaimana saya menguruskan perkhidmatan di Windows? Bagaimana saya menguruskan perkhidmatan di Windows? Mar 21, 2025 pm 07:52 PM

Artikel membincangkan menguruskan perkhidmatan Windows untuk kesihatan sistem, termasuk permulaan, berhenti, memulakan semula perkhidmatan, dan amalan terbaik untuk kestabilan.

Aplikasi mana yang menggunakan ene.sys Aplikasi mana yang menggunakan ene.sys Mar 12, 2025 pm 01:25 PM

Artikel ini mengenal pasti ENE.SYS sebagai komponen pemacu audio definisi tinggi Realtek. Ia memperincikan fungsinya dalam menguruskan perkakasan audio, menekankan peranan pentingnya dalam fungsi audio. Artikel ini juga membimbing pengguna untuk mengesahkan legitimasinya

Bagaimana saya menggunakan editor dasar kumpulan (gpEdit.msc)? Bagaimana saya menggunakan editor dasar kumpulan (gpEdit.msc)? Mar 21, 2025 pm 07:48 PM

Artikel ini menerangkan cara menggunakan editor dasar kumpulan (gpEdit.msc) di Windows untuk mengurus tetapan sistem, menonjolkan konfigurasi umum dan kaedah penyelesaian masalah. Ia menyatakan bahawa gpedit.msc tidak tersedia di edisi rumah windows, mencadangkan

Bagaimana saya menukar aplikasi lalai untuk jenis fail? Bagaimana saya menukar aplikasi lalai untuk jenis fail? Mar 21, 2025 pm 07:48 PM

Artikel membincangkan perubahan aplikasi lalai untuk jenis fail pada Windows, termasuk perubahan semula dan perubahan pukal. Isu utama: Tiada pilihan perubahan pukal terbina dalam.

Masalah Windows Metadata dan Internet: Bagaimana untuk memperbaikinya? Masalah Windows Metadata dan Internet: Bagaimana untuk memperbaikinya? Apr 02, 2025 pm 03:57 PM

Anda mungkin melihat "Sambungan ke Metadata Windows dan Perkhidmatan Internet (WMIS) tidak dapat ditubuhkan." Ralat pada Penonton Acara. Siaran ini dari Php.cn memperkenalkan cara menghapuskan masalah Windows Metadata dan Internet.

Msconfig terus kembali ke permulaan selektif? 2 penyelesaian di sini Msconfig terus kembali ke permulaan selektif? 2 penyelesaian di sini Mar 28, 2025 pm 12:06 PM

Adakah anda mempersoalkan masalah yang Msconfig terus kembali ke permulaan selektif pada tingkap anda? Bagaimana cara beralih ke permulaan biasa jika anda memerlukannya? Cuba kaedah yang dijelaskan dalam pos php.cn ini untuk mencari yang berfungsi untuk anda.

See all articles