Golang memintas aksara Cina yang kacau
Apabila menggunakan Golang untuk memintas rentetan, anda mungkin menghadapi masalah memintas aksara Cina, mengakibatkan output bercelaru. Fenomena ini berlaku kerana masalah pengekodan aksara Cina.
Golang menggunakan pengekodan UTF-8 untuk mewakili aksara, dan aksara Cina terdiri daripada tiga bait di bawah pengekodan UTF-8. Oleh itu, jika anda tidak memberi perhatian kepada isu pengekodan, beberapa masalah yang tidak dijangka akan berlaku apabila memintas rentetan, seperti output bercelaru, pemintasan rentetan tidak lengkap, dsb.
Berikut adalah beberapa kaedah untuk menyelesaikan masalah memintas aksara Cina yang bercelaru.
Kaedah 1: Gunakan rune
Rune dalam Golang mewakili aksara Unicode. Jika kita ingin memintas aksara Cina, kita boleh mula-mula menukar rentetan kepada jenis rune, kemudian memintas aksara yang diperlukan, dan akhirnya menukar jenis rune kepada rentetan.
Kod contoh:
package main import ( "fmt" ) func main() { str := "Go语言中文网" strRune := []rune(str) fmt.Println(string(strRune[0:2])) }
Hasil output ialah: Go
Kod di atas mula-mula menukar string str kepada jenis rune, dan kemudian menggunakan penghirisan rentetan untuk memintas dua yang pertama aksara, dan akhirnya menukar jenis rune kepada output rentetan. Memandangkan satu aksara Cina menduduki tiga bait, kita mesti memilih julat yang betul apabila memintas, jika tidak, aksara yang bercelaru akan muncul.
Kaedah 2: Gunakan panjang aksara Cina dan bukannya bilangan bait
Memandangkan aksara Cina menduduki tiga bait dalam Golang, kita boleh menggunakan panjang aksara Cina sebagai standard apabila memintas aksara Cina , bukannya dalam bait. Kaedah ini boleh mengelakkan masalah aksara bercelaru kerana bait yang tidak mencukupi.
Kod sampel:
package main import ( "fmt" "unicode/utf8" ) func main() { s := "Go语言中文网" var size int for i := range s { if size < 2 { size++ continue } fmt.Println(s[0:i]) break } fmt.Println("中文字符数量:", utf8.RuneCountInString(s)) }
Hasil output ialah: Bahasa Go
Kod pertama kali menggunakan fungsi RuneCountInString() dalam perpustakaan utf8 untuk mengira bilangan aksara Cina dalam rentetan, Kemudian potong dan pintas aksara yang sesuai mengikut kepanjangan aksara Cina.
Perlu diambil perhatian bahawa disebabkan pengekodan aksara yang berbeza, bilangan bait yang diduduki oleh aksara Cina dalam bahasa yang berbeza mungkin juga berbeza, jadi kita harus memilih kaedah yang sesuai untuk memintas rentetan mengikut spesifik keadaan.
Ringkasnya, kita boleh menggunakan jenis rune atau panjang aksara Cina untuk memintas rentetan, yang boleh mengelakkan masalah aksara Cina yang kacau-bilau dengan berkesan. Sudah tentu, dalam aplikasi praktikal, banyak situasi perlu dipertimbangkan untuk mencapai hasil yang terbaik.
Atas ialah kandungan terperinci Golang memintas aksara Cina yang kacau. 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



OpenSSL, sebagai perpustakaan sumber terbuka yang digunakan secara meluas dalam komunikasi yang selamat, menyediakan algoritma penyulitan, kunci dan fungsi pengurusan sijil. Walau bagaimanapun, terdapat beberapa kelemahan keselamatan yang diketahui dalam versi sejarahnya, yang sebahagiannya sangat berbahaya. Artikel ini akan memberi tumpuan kepada kelemahan umum dan langkah -langkah tindak balas untuk OpenSSL dalam sistem Debian. Debianopenssl yang dikenal pasti: OpenSSL telah mengalami beberapa kelemahan yang serius, seperti: Kerentanan Pendarahan Jantung (CVE-2014-0160): Kelemahan ini mempengaruhi OpenSSL 1.0.1 hingga 1.0.1f dan 1.0.2 hingga 1.0.2 versi beta. Penyerang boleh menggunakan kelemahan ini untuk maklumat sensitif baca yang tidak dibenarkan di pelayan, termasuk kunci penyulitan, dll.

Artikel ini menerangkan cara menggunakan alat PPROF untuk menganalisis prestasi GO, termasuk membolehkan profil, mengumpul data, dan mengenal pasti kesesakan biasa seperti CPU dan isu memori.

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Artikel ini membincangkan pakej GO's Reflect, yang digunakan untuk manipulasi kod runtime, bermanfaat untuk siri, pengaturcaraan generik, dan banyak lagi. Ia memberi amaran tentang kos prestasi seperti pelaksanaan yang lebih perlahan dan penggunaan memori yang lebih tinggi, menasihati penggunaan yang bijak dan terbaik

Artikel ini membincangkan menggunakan ujian yang didorong oleh jadual di GO, satu kaedah yang menggunakan jadual kes ujian untuk menguji fungsi dengan pelbagai input dan hasil. Ia menyoroti faedah seperti kebolehbacaan yang lebih baik, penurunan duplikasi, skalabiliti, konsistensi, dan a

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan
