Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Memaparkan Rentetan UTF-8 dengan Betul dalam Konsol Windows Menggunakan Go?

Bagaimana untuk Memaparkan Rentetan UTF-8 dengan Betul dalam Konsol Windows Menggunakan Go?

DDD
Lepaskan: 2024-11-03 09:08:03
asal
855 orang telah melayarinya

How to Display UTF-8 Strings Correctly in Windows Consoles Using Go?

Cara Mengeluarkan Rentetan dengan Betul dalam Konsol Windows Menggunakan Go

Apabila melaksanakan program Go yang mencetak rentetan yang dikodkan UTF-8 dalam tetingkap konsol pada Windows, output mungkin kelihatan bercelaru kerana perbezaan dalam piawaian pengekodan. Windows biasanya menggunakan pengekodan IBM850, manakala Go menggunakan UTF-8 secara lalai.

Untuk menangani isu ini dan memastikan rentetan dicetak dengan betul dalam tetingkap konsol:

Gunakan Fungsi consolePrintString:

Kod yang disediakan mentakrifkan fungsi yang dipanggil consolePrintString yang menggunakan kaedah tidak didokumenkan tetapi berkesan untuk mengendalikan output rentetan dalam persekitaran khusus Windows.

Tukar UTF-8 kepada UTF- 16:

Dalam fungsi consolePrintString, rentetan input UTF-8 ditukar kepada UTF-16 menggunakan fungsi Encode daripada pakej unicode/utf16. UTF-16 ialah pengekodan pilihan untuk output konsol.

Tulis ke Konsol:

Fungsi WriteConsoleW daripada perpustakaan kernel32.dll digunakan untuk menulis UTF-16 rentetan ke konsol. Ia memerlukan parameter yang menentukan pemegang konsol, alamat data rentetan, panjang rentetan dan penuding untuk merekodkan bilangan aksara yang ditulis.

Contoh Penggunaan:

Dalam fungsi utama yang disediakan, dua rentetan dicetak menggunakan fungsi consolePrintString: "Hello ☺" dan "éèïöîôùòèìë". Rentetan ini kini sepatutnya dipaparkan dengan betul dalam tetingkap konsol.

Nota:

Kaedah ini menggunakan API tidak berdokumen dan tidak mengendalikan pelbagai senario, seperti ubah hala stdout atau ralat pengendalian. Gunakannya dengan berhati-hati dan memahami batasannya.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Rentetan UTF-8 dengan Betul dalam Konsol Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan