


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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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

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

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

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

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.

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.
