亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Rumah Java javaTutorial ZipInputStream gagal menyahkresentikan nama fail Cina? Bagaimana cara menetapkan watak yang ditetapkan dengan betul?

ZipInputStream gagal menyahkresentikan nama fail Cina? Bagaimana cara menetapkan watak yang ditetapkan dengan betul?

Apr 19, 2025 pm 04:33 PM
linux windows apache sistem pengendalian macos cos red

ZipInputStream gagal menyahkresentikan nama fail Cina? Bagaimana cara menetapkan watak yang ditetapkan dengan betul?

Penyahmampatan ZipInputStream Nama dan Penyelesaian Fail Cina

Ramai pemaju sering menghadapi masalah pengekodan watak apabila menggunakan ZipInputStream untuk menyahpepijat zip pakej termampat yang mengandungi nama fail Cina atau nama folder, yang membawa kepada kegagalan penyahmampatan dan meminta kesilapan seperti "input malformed: 1, panjang: 1". Artikel ini akan menganalisis masalah ini secara mendalam dan menyediakan penyelesaian yang berkesan.

Akar masalahnya ialah set aksara yang ditentukan dalam pembina ZipInputStream tidak digunakan untuk menguraikan pengekodan nama fail di dalam fail, tetapi untuk membaca maklumat direktori pusat fail zip itu sendiri. Pengekodan direktori pusat bergantung kepada persekitaran di mana pakej termampat dibuat dan sistem operasi. Sistem Windows biasanya menggunakan pengekodan GB2312 atau GBK, manakala sistem MACOS dan Linux biasanya menggunakan pengekodan UTF-8.

Oleh itu, jika pakej mampatan zip dibuat di bawah Windows, direktori pusatnya mungkin akan dikodkan menggunakan GBK. Walaupun pengekodan UTF-8 ditentukan dalam kod, ZipInputStream masih gagal menghuraikan direktori pusat GBK yang dikodkan dengan betul, mengakibatkan kegagalan penyahmampatan.

Penyelesaian:

Untuk pakej zip yang dibuat oleh sistem Windows, disarankan untuk menggunakan pengekodan GBK untuk membaca direktori pusat:

 FileInputStream input = FileInputStream baru (TargetPath);
ZipInputStream zipInputStream = zipInputStream baru (BufferedInputStream baru (input), charset.forname ("gbk"));

Oleh kerana pengekodan GBK bersesuaian dengan GB2312, kaedah ini juga terpakai kepada direktori pusat pengekodan GB2312.

Penyelesaian silang platform:

Untuk menulis lebih banyak kod serasi rentas platform, Apache Commons memampatkan perpustakaan disyorkan. Perpustakaan ini menyediakan fungsi pemampatan/penyahmampatan yang lebih kuat, yang secara automatik boleh mengendalikan pakej mampatan zip pengekodan yang berbeza, dengan berkesan mengelakkan kegagalan penyahmampatan disebabkan oleh perbezaan set aksara. Ia secara automatik dapat mengesan dan memproses maklumat direktori pusat kod yang berbeza, memudahkan proses pembangunan, dan meningkatkan kebolehpercayaan kod.

Atas ialah kandungan terperinci ZipInputStream gagal menyahkresentikan nama fail Cina? Bagaimana cara menetapkan watak yang ditetapkan dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Cara menjadualkan tugas di Linux dengan Cron dan Anacron Cara menjadualkan tugas di Linux dengan Cron dan Anacron Aug 01, 2025 am 06:11 AM

cronisusedforpreciseschedulingonalways-onsystems, manakalaCronensureSperiodictasksrunonsystemsthataren'tcontinuouslypowered, suchaslaptops; 1.usecronforexacttiming (cth

Cara menetapkan semula tumpukan TCP/IP di Windows Cara menetapkan semula tumpukan TCP/IP di Windows Aug 02, 2025 pm 01:25 PM

ToresolvenetworkconnectivityissuesinWindows,resettheTCP/IPstackbyfirstopeningCommandPromptasAdministrator,thenrunningthecommandnetshintipreset,andfinallyrestartingyourcomputertoapplychanges;ifissuespersist,optionallyrunnetshwinsockresetandrebootagain

Versi Web Yandex Cara Muat turun Laman Web Yandex Binance Versi Terkini Versi Web Yandex Cara Muat turun Laman Web Yandex Binance Versi Terkini Aug 01, 2025 pm 06:54 PM

Buka penyemak imbas Yandex; 2. Cari "Laman Web Rasmi Binance" dan masukkan pautan laman web rasmi dengan "Binance"; 3. Klik ikon "muat turun" atau telefon bimbit pada halaman untuk memasukkan halaman muat turun; 4. Pilih versi Android; 5. Sahkan muat turun dan dapatkan pakej fail pemasangan; 6. Selepas muat turun selesai, klik pada fail dan ikuti arahan untuk menyelesaikan pemasangan; Anda mesti sentiasa memuat turun melalui saluran rasmi untuk mengelakkan perisian hasad, memberi perhatian kepada permintaan kebenaran aplikasi, dan kerap mengemas kini permohonan untuk memastikan keselamatan. Seluruh proses memerlukan pengenalpastian yang teliti dari laman web rasmi dan menolak pautan yang mencurigakan, dan akhirnya berjaya memasang aplikasi Binance.

Bagaimana cara mengkonfigurasi tuan rumah maya di Apache? Bagaimana cara mengkonfigurasi tuan rumah maya di Apache? Aug 01, 2025 am 04:16 AM

Buat direktori laman web dan tambahkan halaman ujian; 2. Buat fail konfigurasi hos maya di bawah/etc/apache2/tapak-tersedia/, tetapkan ServerName, DocumentRoot, dan sebagainya; 3. Gunakan a2ensite untuk membolehkan tapak, melumpuhkan tapak lalai, dan tambah semula Apache selepas menguji konfigurasi; 4. Tambah nama domain dalam /etc /host semasa ujian tempatan dan tunjuk ke 127.0.0.1; Selepas melengkapkan langkah -langkah di atas, lawati Example.com untuk melihat kandungan laman web, dan konfigurasi hos maya berjaya.

Cara memeriksa versi macOS baru Cara memeriksa versi macOS baru Aug 01, 2025 am 05:38 AM

Settings (macosventuraorlater) orsystadpreferences (lama) dari software. Fora

Panduan untuk pilihan pemasangan Windows tersuai Panduan untuk pilihan pemasangan Windows tersuai Aug 01, 2025 am 04:48 AM

Pilih "Custom: InstallWindowSonly (Advanced)" forfullControl, asitallowsacleanStallThatRemoveSoldIssuesInseMentPrenance.2.DuringSetup, ManagePartitionSbyDeletingOldones (afterbackingupdata), creatingNewPartitions, formatting (formatts)

Bagaimana cara memasang macOS pada Mac yang tidak akan dihidupkan? Bagaimana cara memasang macOS pada Mac yang tidak akan dihidupkan? Aug 01, 2025 am 03:43 AM

Jika Mac tidak dapat boot, anda boleh mencuba kaedah berikut untuk memasang macOS: 1. Periksa terlebih dahulu sama ada bekalan kuasa, kabel mengecas dan penyesuai adalah normal; 2. Cuba tetapkan semula SMC; 3. Gunakan macosrecovery (perintah r) untuk memasang semula sistem; 4. Gunakan InternetRecovery (Option Command R) untuk memasangnya dari jauh; 5. Gunakan Mac lain untuk membuat pemacu USB bootable dan pasangnya. Sekiranya semuanya tidak sah, ia mungkin kegagalan perkakasan dan perlu dihantar untuk pembaikan.

Cara Mengurus Dasar Applocker di Windows Cara Mengurus Dasar Applocker di Windows Aug 02, 2025 am 12:13 AM

EnableAppLockerviaGroupPolicybyopeninggpedit.msc,navigatingtoApplicationControlPolicies,creatingdefaultrules,andconfiguringruletypes;2.Createcustomrulesusingpublisher,path,orhashconditions,preferringpublisherrulesforsecurityandflexibility;3.Testrules

See all articles