Rumah pembangunan bahagian belakang tutorial php 记php和java中英文字节长度和编码关系

记php和java中英文字节长度和编码关系

Jul 29, 2016 am 08:56 AM
length quot str unicode

1.PHP

PHP其实跟C语言一样,采用ASCII,一个char占1个字节,在GBK编码,一个英文占1个字节,一个中文占2个字节。然而在UTF-8编码下,一个英文还是占1个字节,但一个中文是占3-4个字节(一般都是3个字节),这通常会给你获取字符串的字长或者字符串截取带来麻烦。比如:

<?php $str = "我爱你Iloveyou";
echo strlen($str); //utf8下是17,GBK下是14,但如果问你$str的字长是多少,或者让你显示前6个字,其余省略号表示,怎么办?
?>
Salin selepas log masuk

以上的问题网上可以找到答案,最简单就是使用扩展库,用mb_substr函数来截取。

2.Java

java中的一个char是2个字节。java采用unicode,2个字节来表示一个字符,一个中文或英文字符的unicode编码都占2个字节,但如果采用其他编码方式,一个字符占用的字节数则各不相同。例如:

public class Test {
    public static void main(String[] args){
        String str = "我们aaaaa";
        int byte_len = str.getBytes().length;
        int len = str.length();
        System.out.println("字节长度为:" + byte_len);
        System.out.println("字符长度为:" + len);
    }
}
Salin selepas log masuk

以上例子,在GBK输出结果是:9和7,但在UTF-8下输出结果是:11和7,即无论用什么编码,用str.length()获取的字长都是一致的。该方法返回的是字符串的字符数,无论是中文字符还是英文字符,都被看做是一个字符。

以上就介绍了记php和java中英文字节长度和编码关系,包括了方面的内容,希望对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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan 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)

Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina Mar 05, 2024 pm 02:48 PM

Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar JSONUnicode kepada Bahasa Cina Semasa pembangunan, kami sering menghadapi situasi di mana kami perlu memproses data JSON dan pengekodan Unicode dalam JSON akan menyebabkan kami beberapa masalah dalam beberapa senario, terutamanya apabila kami perlu menukar Unicode Apabila pengekodan ditukar kepada aksara Cina. Dalam PHP, terdapat beberapa kaedah yang boleh membantu kami mencapai proses penukaran ini Kaedah biasa akan diperkenalkan di bawah dan contoh kod khusus akan disediakan. Mula-mula, mari kita fahami dulu Un dalam JSON

Bagaimana untuk menukar unicode kepada bahasa Cina Bagaimana untuk menukar unicode kepada bahasa Cina Dec 14, 2023 am 10:57 AM

Unicode ialah standard pengekodan aksara yang digunakan untuk mewakili pelbagai bahasa dan simbol. Untuk menukar pengekodan Unicode kepada aksara Cina, anda boleh menggunakan fungsi terbina dalam Python chr() dan ord().

Gunakan fungsi String.length() java untuk mendapatkan panjang rentetan Gunakan fungsi String.length() java untuk mendapatkan panjang rentetan Jul 25, 2023 am 09:09 AM

Gunakan fungsi String.length() Java untuk mendapatkan panjang rentetan Dalam pengaturcaraan Java, rentetan ialah jenis data yang sangat biasa Kita selalunya perlu mendapatkan panjang rentetan, iaitu bilangan aksara dalam rentetan. Di Java, kita boleh menggunakan fungsi length() kelas String untuk mendapatkan panjang rentetan. Berikut ialah kod contoh mudah: publicclassStringLengthExample{publ

Cuba kaedah untuk menyelesaikan masalah aksara Cina yang kacau dalam Eclipse Cuba kaedah untuk menyelesaikan masalah aksara Cina yang kacau dalam Eclipse Jan 03, 2024 pm 05:28 PM

Adakah anda terganggu dengan watak Cina yang kacau dalam Eclipse? Untuk mencuba penyelesaian ini, anda memerlukan contoh kod khusus 1. Pengenalan latar belakang Dengan perkembangan berterusan teknologi komputer, bahasa Cina memainkan peranan yang semakin penting dalam pembangunan perisian. Walau bagaimanapun, banyak pembangun menghadapi masalah kod bercelaru apabila menggunakan Eclipse untuk pembangunan bahasa Cina, yang menjejaskan kecekapan kerja. Kemudian, artikel ini akan memperkenalkan beberapa masalah kod bercelaru biasa dan memberikan penyelesaian serta contoh kod yang sepadan untuk membantu pembaca menyelesaikan masalah kod bercelaru bahasa Cina dalam Eclipse. 2. Masalah kod bercelaru biasa dan fail penyelesaian

Tutorial PHP: Cara Menukar Unikod JSON kepada Aksara Cina Tutorial PHP: Cara Menukar Unikod JSON kepada Aksara Cina Mar 05, 2024 pm 06:36 PM

JSON (JavaScriptObjectNotation) ialah format pertukaran data ringan yang biasa digunakan untuk pertukaran data antara aplikasi web. Semasa memproses data JSON, kami sering menemui aksara Cina yang dikodkan Unikod (seperti "u4e2du6587") dan perlu menukarnya kepada aksara Cina yang boleh dibaca. Dalam PHP, kita boleh mencapai penukaran ini melalui beberapa kaedah mudah. Seterusnya, kami akan memperincikan cara menukar JSONUnico

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Selesaikan masalah pengekodan set aksara Unicode yang tidak konsisten apabila Java menyambung ke pangkalan data MySQL Selesaikan masalah pengekodan set aksara Unicode yang tidak konsisten apabila Java menyambung ke pangkalan data MySQL Jun 10, 2023 am 11:39 AM

Dengan perkembangan teknologi seperti data besar dan pengkomputeran awan, pangkalan data telah menjadi salah satu asas penting dalam pemformatan perusahaan. Dalam aplikasi yang dibangunkan di Java, menyambung ke pangkalan data MySQL telah menjadi kebiasaan. Walau bagaimanapun, dalam proses ini, kita sering menghadapi masalah berduri - pengekodan set aksara unikod tidak konsisten. Ini bukan sahaja akan menjejaskan kecekapan pembangunan kami, tetapi juga menjejaskan prestasi dan kestabilan aplikasi. Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dan menjadikan Java menyambung ke pangkalan data MySQL dengan lebih lancar. 1. Unicode

Apakah perbezaan antara unicode dan ascii Apakah perbezaan antara unicode dan ascii Sep 06, 2023 am 11:56 AM

Perbezaan antara unicode dan ascii termasuk julat pengekodan yang berbeza, ruang storan yang berbeza dan keserasian yang berbeza. Pengenalan terperinci: 1. Julat pengekodan adalah berbeza Julat pengekodan ASCII ialah 0-127, yang digunakan terutamanya untuk mewakili huruf Inggeris Julat pengekodan Unicode adalah lebih luas dan boleh mewakili hampir semua aksara bahasa ruang berbeza ASCII biasanya Gunakan 1 bait untuk menyimpan aksara, manakala unicode mungkin menggunakan 2 atau lebih bait untuk menyimpan aksara 3. Keserasian yang berbeza, dsb.

See all articles