Saya menguji bagaimana beberapa kode saya menangani data yang buruk, dan saya memerlukan beberapa seri byte yang UTF-8 tidak valid.
Bisakah Anda memposting beberapa, dan idealnya, penjelasan mengapa itu buruk / di mana Anda mendapatkannya?
unit-testing
utf-8
twk
sumber
sumber
Jawaban:
Lihatlah kemampuan decoder UTF-8 Markus Kuhn dan file stress test
Anda akan menemukan contoh banyak penyimpangan UTF-8, termasuk byte awal yang sepi, byte kelanjutan yang hilang, urutan yang terlalu panjang, dll.
sumber
Dalam PHP:
Dari http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php#54805
sumber
, ̆ sangat jahat. Saya melihatnya sebagai gabungan di ubuntu.
tanda koma
sumber
Ide pola urutan byte yang tidak terbentuk dengan baik dapat diperoleh dari tabel urutan byte yang terbentuk dengan baik. Lihat " Tabel 3-7. Urutan Byte UTF-8 yang Berformat Baik " di Unicode Standard 6.2.
Berikut adalah contoh yang dihasilkan dari U + 24B62. Saya menggunakannya untuk laporan bug: Bug # 65045 mb_convert_encoding merusak karakter yang terbentuk dengan baik
Penyederhanaan rentang byte tambahan ([0x80, 0xBF]) dapat dilihat di berbagai pustaka.
sumber
Fuzz Testing - menghasilkan urutan oktet acak. Kemungkinan besar Anda akan mendapatkan beberapa urutan ilegal lebih cepat daripada nanti.
sumber
srand()
saran Anda adalah ide yang bagus, mungkin membantu orang lain di sini.