Seperti yang kita semua tahu, panjang rentetan dalam JS tidak membezakan antara aksara Cina dan Inggeris Setiap aksara dikira sebagai panjang, yang berbeza daripada fungsi strlen() dalam PHP. Fungsi strlen() dalam PHP mengumpul aksara Cina GBK sebanyak 2 dan aksara Cina UTF-8 sebanyak 3 mengikut set aksara.
Sesetengah kasut kanak-kanak mungkin bertanya, mengapa kita perlu mengira panjang sebenar?
Terutamanya untuk memadankan julat panjang pangkalan data Contohnya, medan dalam pangkalan data GBK ialah varchar(10), yang bersamaan dengan panjang 5 aksara Cina dan satu aksara Cina bersamaan dengan panjang dua huruf. . Jika ia adalah pangkalan data UTF8, panjang setiap aksara Cina ialah 3.
Setelah mengetahui prinsip di atas, kita boleh mengira panjang sebenar rentetan Jika ia adalah set aksara GBK, tambah 2 apabila menemui aksara Cina Jika ia adalah set aksara UTF8, tambah 3 apabila menemui aksara Cina
Fungsi pengiraan panjang GBK: