<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の取り扱いは難しい問題です。</p><section><h1>文字コード</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>なのか<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>なのか<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">問題<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字としてのバイト</title></anchor>があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 
表示と安全性については<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子文字</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名安全</anchor>も参照。</p></section><section><h1>文字の制限</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
多くのファイル・システムやその実装では、その環境で使える文字の全てかファイル名に使えるわけではない。例えば、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FAT</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NTFS</anchor> ではディレクトリ (フォルダ) 区切子として使われる <code class="file">\</code> を名前に使うことが出来ない。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特別なファイル名</anchor>も参照。</p></section><section><h1>大文字と小文字</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 
<dfn>ファイル名における大文字と小文字</dfn>の取り扱いは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>に依存する複雑な問題です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>の違いは、単にその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>内部だけの問題に留まりません。
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>を区別しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>で作られた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>中の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor>
に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>の違いを気にしないで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を書くと、
区別される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>に移動したときに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク</anchor>が機能しなくなります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">比較</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の参照や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の衝突の判定)
において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>を区別するかという問題と、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>した状態で保存されるかという問題があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
その他に比較的軽微な問題として、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>のみ異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改名</anchor>が可能かどうか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">整列</anchor>でどう扱われるかなどの問題もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>でどのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>を使うかにより、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>の変換や同一視が行われる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字集合</anchor>の範囲も変わってきます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>等で異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>の扱いや、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicodeの版</anchor>による違いを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>
でどう扱うかも問題になってきます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>をまたがる移動、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書庫ファイル</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク</anchor>による転送などで、
取り扱いの違いが問題となることがあります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>をすべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>に置き換える必要が生じたり、
2つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が衝突するので保存できなかったりします。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>によっては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">長いファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">短いファイル名</anchor>のような異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>に与えることが出来る場合がありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>ごとに適用される規則が違うことがあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子文字</anchor>も参照。</comment-p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 9660</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>を区別しません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenVMS</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ODS-2</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NetWare</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NSS</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NWFS</anchor> も区別しないとのこと。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">APFS</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>を区別しないモード (既定値)
と区別するモードがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenVMS</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ODS-5</anchor> も両モードあって区別しないのが既定値とのこと。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HFS+</anchor> の既定値は不区別、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">case-preserving</anchor> で、区別するモードもある。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NTFS</anchor> は不区別、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">case-preserving</anchor> で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォルダー</anchor>単位で区別させることもできる。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ext4</anchor> は区別しますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>単位で区別させないこともできます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;32</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="ja">ファイルシステムと大文字小文字 #case-sensitive - Qiita</cite>, <time>2024-07-13T08:56:28.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://qiita.com/jokester/items/f8a106832af2d3eb3436">https://qiita.com/jokester/items/f8a106832af2d3eb3436</anchor-external></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="ja">ASCII.jp:Windows 10 RS5で改良されたファイル名の大文字/小文字の区別 (1/2)</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor>, <time>2024-07-13T09:10:46.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ascii.jp/elem/000/001/786/1786156/">https://ascii.jp/elem/000/001/786/1786156/</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> 
<cite xml:lang="ja">fast23-basu.pdf</cite>, <time>2024-07-13T09:15:00.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.usenix.org/system/files/fast23-basu.pdf">https://www.usenix.org/system/files/fast23-basu.pdf</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 
<cite xml:lang="en">Using the Linux kernel's Case-insensitive feature in Ext4</cite>, <time>2024-07-13T09:23:43.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.collabora.com/news-and-blog/blog/2020/08/27/using-the-linux-kernel-case-insensitive-feature-in-ext4/">https://www.collabora.com/news-and-blog/blog/2020/08/27/using-the-linux-kernel-case-insensitive-feature-in-ext4/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FAT</anchor> など古くからある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字・小文字不区別</anchor>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NTFS</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">初期化</anchor>時に作られる <code>$UpCase</code> ファイルで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字と小文字</anchor>の関係を決めている。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">初期化</anchor>に使った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>が持っている対応表が反映される。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite xml:lang="en">$UpCase (10) - File - NTFS Documentation</cite>, <time>2022-06-12T19:25:54.000Z</time>, <time>2024-07-13T09:07:53.509Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://flatcap.github.io/linux-ntfs/ntfs/files/upcase.html">https://flatcap.github.io/linux-ntfs/ntfs/files/upcase.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite xml:lang="ja">グルジア文字と case insensitive filesystem - 彷徨えるフジワラ</cite>, <time>2024-07-13T09:06:20.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://flying-foozy.hatenablog.com/entry/20120101/1325384327">https://flying-foozy.hatenablog.com/entry/20120101/1325384327</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
<cite xml:lang="ja">トルコ文字と case insensitive filesystem - 彷徨えるフジワラ</cite>, <time>2024-07-13T09:28:49.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://flying-foozy.hatenablog.com/entry/20120102/1325473117">https://flying-foozy.hatenablog.com/entry/20120102/1325473117</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 
<cite xml:lang="en">Internationalization for the NFSv4 Protocols</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">David Noveck</anchor>, <time>2023-11-20T13:13:48.000Z</time>, <time>2024-07-13T09:25:12.609Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.ietf.org/archive/id/draft-ietf-nfsv4-internationalization-07.html#section-6.3">https://www.ietf.org/archive/id/draft-ietf-nfsv4-internationalization-07.html#section-6.3</anchor-external></p></section><section><h1>正規化</h1><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子文字</anchor>も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode正規化</anchor>は破壊的処理なので要注意です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HFS+</anchor> はデータ破壊を避けるために独自の手法を使っています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>HFS+のNFD</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;34</anchor-internal> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;35</anchor-internal> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFC</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">full case folding</anchor> を採用しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;40</anchor-internal> 本当に実装されているのかは謎。まあこれはファイルの要件なので、
意図的にそういうファイルを作ろうとしなければ自然に満たせる、か?</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> 
<cite xml:lang="en">Case folding of the file names · Issue #1631 · w3c/epub-specs · GitHub</cite>, <time>2024-07-13T09:18:37.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/epub-specs/issues/1631">https://github.com/w3c/epub-specs/issues/1631</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en">Require Unicode full case folding and NFC normalization by mattgarrish · Pull Request #1648 · w3c/epub-specs · GitHub</cite>, <time>2024-07-13T09:19:25.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/epub-specs/pull/1648/files">https://github.com/w3c/epub-specs/pull/1648/files</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <cite xml:lang="ja">case の insensitive と preserve - 彷徨えるフジワラ</cite>, <time>2024-07-13T09:29:36.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://flying-foozy.hatenablog.com/entry/20120104/1325657430">https://flying-foozy.hatenablog.com/entry/20120104/1325657430</anchor-external></p></section><section><h1>プラットフォームとファイルシステムの事情</h1><section><h1>MIME ファイル名</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <code>filename=&quot;&quot;</code> も参照。</p></section><section><h1>ZIP ファイル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="160" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[160]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>では歴史的に様々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が使われてきました。
他の分野と比較しても <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> の普及が遅く、現在も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
と旧来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が混在して使われ続けています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="161" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[161]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が問題となる箇所は、</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="162" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[162]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="163" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[163]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[164]</anchor-end> <ruby><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor><rt>パスワード</rt></ruby></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="344" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[344]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>全体の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="165" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[165]</anchor-end> その他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>依存の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタデータ</anchor></li></ul><p>です。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="166" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[166]</anchor-end> 
この他に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容</anchor>にも当然のことながら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>に依存したデータ
(= <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テキストファイル</anchor>) が含まれる可能性はありますが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>には
(少なくても標準的には) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の内容の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>を記述する方法
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> の <code xmlns="http://www.w3.org/1999/xhtml">Content-Type</code> <code xmlns="http://www.w3.org/1999/xhtml">charset</code> に相当するもの)
がありません。「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の処理」の範疇では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>に含まれる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の内容は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>として扱われるだけであり、
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が問題となることはありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="167" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[167]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> には「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>全体の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>」のような概念はありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[168]</anchor-end> 
格納される各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>があり、それは何らかの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>で記述されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[169]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が関係してきますが、
あまり問題とされることは少ないようで、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の主要な問題領域となっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="299" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[299]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AES</anchor> 暗号化方式と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZipCrypto</anchor> の2種類の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗号化</anchor>方式に関係しますが、
前者では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 固定であるのに対し、後者は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装依存</anchor>であり、
現実的に考えて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が使われていると考えられます。
従って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名の文字コード</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">判定<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字コードの判定</title></anchor>できれば、
それを使って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>の試行ができます。</p><section><h1>変遷の概略</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[170]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> は元々<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">米国</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> 向けの製品として開発されました。そのため、
現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> 仕様書にも</p><blockquote><p>D.1 The ZIP format has historically supported only the original IBM PC character <sw-br xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></sw-br>
encoding set, commonly referred to as IBM Code Page 437.  This limits storing <sw-br xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></sw-br>
file name characters to only those within the original MS-DOS range of values <sw-br xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></sw-br>
and does not properly support file names in other character encodings, or <sw-br xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></sw-br>
languages. <snip xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></snip></p></blockquote><p>と説明されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src>。
つまり <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の本来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>であるとされます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">米国</anchor>市場等の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MS-DOS</anchor> で使われていた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> 
程なくして <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">米国</anchor>以外の諸国の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> でも使われるようになりました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">米国</anchor>版もその他の版も、おそらく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の変換は一切なく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>をそのまま格納したり、
逆にそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>から展開したりしていたと推測されます。
そのため各国で自国の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MS-DOS</anchor> の採用する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>とする
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>が流通することになりました。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> 
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> 系<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP932</anchor> が使われてきました。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="171" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[171]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の時代になると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> が採用する 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>に使われるようにもなりました。
しかし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MS-DOS</anchor> との互換性のため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>も使われ続けました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="172" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[172]</anchor-end> 
更に時代が進むと、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>に使われるようにもなりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> 
時代の変化を踏まえて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の公式仕様にも変更がありました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> 11 を使って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> を使うことが明示できるようになりました。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[159]</anchor-end> 
<time>2022-11-01T17:34:41.000Z</time>, <time>2025-05-25T04:36:39.159Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT#:~:text=APPENDIX%20D%20-%20Language%20Encoding">https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT#:~:text=APPENDIX%20D%20-%20Language%20Encoding</anchor-external></li></ul></refs></section><section><h1>データ構造</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[173]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>には、格納する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>ごとに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>その他の情報を記述できます。</p><section><h1>general purpose bit <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="174" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[174]</anchor-end> 
<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n></dfn> (<dfn><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x0800</n></dfn>) は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>等が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>されているかどうかを表します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="175" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[175]</anchor-end> 
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> が設定されて<em>いない</em>ときは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>は、
original ZIP character encoding
(<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;170</anchor-internal>)
に適合する<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="179" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[179]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>の文面そのままの厳密な読みでは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor> を要求するものと理解されますが、
現実的には flag <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n>
仕様導入以前の各種の従来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>への対応が求められると見なさざるを得ません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="176" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[176]</anchor-end> 
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> が設定されて<em>いる</em>ときは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> storage specification によって定義された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化形</anchor>を使い
<cite>The Unicode Standard</cite> 4.1.0 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対応<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Unicodeの版</title></anchor>しなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[182]</anchor-end> 
このビットのことを便宜上 <DF xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">UTF-8<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フラグ<rt xmlns="http://www.w3.org/1999/xhtml">flag</rt></rubyb></DF>と呼ぶことがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="177" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[177]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>内の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で符号化されたデータは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</anchor> を含まないことが期待されます。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="178" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[178]</anchor-end> なぜか<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">主語が大きい</anchor>ですが、文脈上
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>が設定された場合に限定される規定と思われます。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="181" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[181]</anchor-end> 
<sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</sw-cn>
ではないということは、
<sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZWNBSP</sw-cn>
と解釈されることになります。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="346" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[346]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>単位の属性です。
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>とは相互作用しません。また、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>には適用されますが、 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> 全体の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>には適用されません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="190" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[190]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n>
は、
ファイルの内容や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>を<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗示<rt xmlns="http://www.w3.org/1999/xhtml">imply</rt></rubyb>するものではありません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="298" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[298]</anchor-end> 
とはいえ現実には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZipCrypto</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>で作成されている可能性が高いと考えられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="180" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[180]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エラー処理</anchor>などは規定がなく不正な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> をどう扱うべきか不明です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> 
現在では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>を利用して出力する実装が多くなってきており、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル形式</anchor>等でこれの利用を要求する技術仕様もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="183" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[183]</anchor-end> 
しかし現在でもすべての実装が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で出力するわけではなく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で出力する実装のすべてが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>を設定するわけでもありません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> の出力に対応していても、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>を既定で設定しない実装もあるようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="184" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[184]</anchor-end> 
現在では多くの実装が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>の理解に対応しているようです。
しかしすべての実装が正しく取り扱えるかどうかは不安があります。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="157" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[157]</anchor-end> 
<cite xml:lang="ja">XユーザーのBinary numberさん: 「えー zip圧縮についてなんですがぁ... 調査の結果 Macが圧縮時にエンコードをUTF-8にしてるにもかかわらず、General purpose bit 11にフラグを立てずに圧縮するのが悪いってことがわかりました()」 / X</cite>, <time>午前11:28 · 2024年12月12日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-12-12T02:28:26.000Z</attrvalue></time>, <time>2024-12-14T11:15:09.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/_actbit/status/1867033742738591908">https://x.com/_actbit/status/1867033742738591908</anchor-external></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="158" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[158]</anchor-end> 
現代的ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>のため好ましくないのはその通りだが、歴史的経緯も何もかも無視してこのように
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> vs <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の対立構造に持ち込んで貶めるために使うのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">倫理的<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">技術者倫理</title></anchor>でない。</p></history><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="345" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[345]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perlモジュール</anchor>の <code>Archive::Zip</code> のように、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit 11</anchor>
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の解釈には使うのに、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>の解釈には使わない実装もあります。このような実装形態は中途半端で不適切です。
<time>2025-12-30T13:29:43.000Z</time></p></history></section><section><h1>Info-ZIP Unicode 欄</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="192" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[192]</anchor-end> 
<dfn>Info-Zip Unicode</dfn> 欄は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n>
が<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">好ましからざる<rt xmlns="http://www.w3.org/1999/xhtml">not desired</rt></rubyb>ときに使えます。
具体的には古いプログラムとの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>が求められるときが想定されているようです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="193" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[193]</anchor-end> 
Info-ZIP Unicode Comment Extra Field (<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x6375</n>)
には
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 版の<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル注釈<rt xmlns="http://www.w3.org/1999/xhtml">file comment</rt></rubyb>を蓄積できます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="194" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[194]</anchor-end> 
その <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">UnicodeCom</code></f> 欄の値が、 entry comment の UTF-8 版であります。
<sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</sw-cn> は使いません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="196" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[196]</anchor-end> 
Info-ZIP Unicode Path Extra Field (<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x7075</n>)
には
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 版の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を蓄積できます、
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[197]</anchor-end> 
その <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">UnicodeName</code></f> 欄の値が、 entry File Name の UTF-8 版であります。
<sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</sw-cn> は使いません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="203" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[203]</anchor-end> 
明記はされていませんが、対応している実装は、
Info-ZIP Unicode 欄が存在する場合にそちらを採用し、
通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>を無視することが期待されているようです。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="200" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[200]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> と Info-ZIP Unicode 欄の2つの方法がありますが、
使い分けについては次のような定めがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="201" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[201]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>生成時にどちらの方法によるかは、実装依存です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="195" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[195]</anchor-end> 
ファイル名と注釈の両方が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> のときは
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General Purpose Bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> (language encoding flag (EFS))
を設定することができるので、そちらを使うべきであり、
Info-ZIP Unicode Path extra field
と
Info-ZIP Unicode Comment extra field
は使う<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきではありません</SHOULD>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="198" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[198]</anchor-end> 
ただ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>のため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>に含めるファイルの path や comment の native character set
が既に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> の場合に限って使う<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="199" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[199]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> によるか、 Info-ZIP Unicode extra field
を使うかは、 Local Directory Header と Central Directory Header
とで同じとすることが期待されます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="202" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[202]</anchor-end> 
開発者は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>がどちらの方法も想定し、
どちらも読み取れるようにする<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="204" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[204]</anchor-end> 
実際に各種の実装がどれくらいこれらを生成するのかは不明です。
実装例がないことはないようです。それこそ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Info-ZIP</anchor> 
が実装しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="347" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[347]</anchor-end> 
非常によく使われているということでもなさそうです。
しかし使われていないというわけではありません。
あちこちで見かけるのもまた事実です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="205" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[205]</anchor-end> 
実際にどれくらい読み取りに対応されているのかも未知数です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="206" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[206]</anchor-end> 
現在となっては
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>に対応していないのに Info-ZIP Unicode 欄には対応している実装は残っていないでしょうし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を含めたいのに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> に対応していない実装も考慮したいという状況もあまりないでしょうから、
Info-ZIP Unicode 欄は新規ではあまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成</anchor>するべきではないと思われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="265" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[265]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="263" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;263</anchor-internal> は
Info-ZIP Unicode Path Extra Field (0x7075)
の読み取りにも対応しているようです。</p></section><section><h1>Extended language encoding data</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[185]</anchor-end> 
0x0008 Extra Field
というものがあり、
Reserved for extended language encoding data (PFS)
と説明されています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[186]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>は、 
0x0008 Extra Field を使って file name storage を<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">補足<rt xmlns="http://www.w3.org/1999/xhtml">supplement</rt></rubyb><MAY xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">できる</MAY>とされます。
しかしこれは optional field であり、その保存形式は現在未定義とされます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="187" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[187]</anchor-end> 
0x0008 Extra Field は、 general purpose bit <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> が設定されている場合でも、
設定されていない場合でも<MAY xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">使えます</MAY>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="191" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[191]</anchor-end> 
ファイルの内容や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">general purpose bit</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n>
が影響するものではなく、
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x0008</n> Extended Language Encoding Extra Field
に蓄積しなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="188" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[188]</anchor-end> 
source or target encoding についての extended information を蓄積するものであって、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>がファイル名やファイルの内容の符号化の task を更に補助するようなものが想定されます。
具体例として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Java</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">modified-UTF-8</anchor> であるか否か、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8-MAC</anchor> であるか否かのような情報の格納に使えます。
また、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>) の<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示<rt xmlns="http://www.w3.org/1999/xhtml">designation</rt></rubyb>も指定できます。
これを使って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> と違う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>内で使えます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;159</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="189" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[189]</anchor-end> 
つまり「何かもっと詳しい情報を書ける」ということだけが決まっていて、
具体的なものは何もありません。
読み書きとも無視するのが妥当と考えられます。</p></section><section><h1>Xceed Unicode extra field</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="214" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[214]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Xceed</anchor> なる実装が
<dfn>Xceed Unicode extra field</dfn> (<dfn><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x554E</n></dfn>)
を使っています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="211" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;211</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;213</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="215" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[215]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>を格納できます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="211" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;211</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;213</anchor-internal></src>。どちらも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-16LE</anchor> で
<sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</sw-cn> なしです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="216" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[216]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;213</anchor-internal> に当該実装で生成した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の実例があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="210" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[210]</anchor-end> 
実際にどの程度使われているか不明です。
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;213</anchor-internal> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ情報</anchor>を表示するだけのソフトウェアですが、
それと本家 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Xceed</anchor> 以外に対応している実装も知られていません。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="212" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[212]</anchor-end> 
<cite>Handling Unicode characters</cite>, <time>2025-05-21T12:06:32.000Z</time>, <time>2025-05-25T06:28:26.315Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://xceed.com/documentation/xceed-filesystem-for-net/Handling%20Unicode%20characters.html">https://xceed.com/documentation/xceed-filesystem-for-net/Handling%20Unicode%20characters.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="211" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[211]</anchor-end> 
<cite xml:lang="en">Xceed zip extra fields</cite>, <time>2025-05-25T06:28:05.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://support.xceed.com/portal/en/community/topic/xceed-zip-extra-fields">https://support.xceed.com/portal/en/community/topic/xceed-zip-extra-fields</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[213]</anchor-end> 
<cite xml:lang="en">Error decoding `Xceed Unicode extra field` (0x0x554e) · Issue #13 · pmqs/zipdetails</cite>, <time>2025-05-25T06:28:37.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/pmqs/zipdetails/issues/13">https://github.com/pmqs/zipdetails/issues/13</anchor-external></li></ul></refs></section><section><h1>ZipArchive Library Extra Field</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="208" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[208]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZipArchive</anchor> なる実装が
ZipArchive Library Extra Field (<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x5A4C</n>)
を定めています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="207" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;207</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="209" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[209]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>を記述できるとしています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="207" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;207</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="210" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[210]</anchor-end> 
実際にどの程度使われているか不明です。
これらが利用されたファイルも見つけることができません。
このソフトウェア自体の配布ファイルでも使われていません。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="207" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[207]</anchor-end> 
<cite>ZipArchive: Unicode Support: Using Non-English Characters in Filenames, Comments and Passwords</cite>, <time>2025-05-25T06:18:44.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.artpol-software.com/ZipArchive/KB/0610051525.aspx#customExtra">https://www.artpol-software.com/ZipArchive/KB/0610051525.aspx#customExtra</anchor-external></li></ul></refs></section><section><h1>host OS, zip version</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が追加された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> 仕様の版の情報があります。
<cite>PKZip</cite> の場合、追加した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor>と版番号が入るようで、
これを見て
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>を読み分ける実装があるようです
(<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;266</anchor-internal> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="267" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;267</anchor-internal>)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> を生成するソフトウェアが限られていて、
その挙動がすべてわかりきっている場合ならこの方法でもうまくいくのでしょうが、
実際に流通する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>を見るにこの方法はあまり有効とは思えませんが、
どうなのでしょう。</p></section><section><h1>その他</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="330" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[330]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac OS</anchor> 用の拡張で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>やその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>種別を格納できるものがいくつかあります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="349" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;349</anchor-internal></src></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="349" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[349]</anchor-end> <time>2020-06-30T08:46:01.000Z</time>, <time>2025-12-31T09:00:44.990Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://libzip.org/specifications/extrafld.txt">https://libzip.org/specifications/extrafld.txt</anchor-external></li></ul></refs></section><section><h1>混合</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="217" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[217]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の情報は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>ごとに格納されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="218" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[218]</anchor-end> 
つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>によって異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が使われる可能性があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="219" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[219]</anchor-end> 
実際に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>付きの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>のファイルと、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>なしの旧来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>のファイルが同じ
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>に混在する事例がちらほらみられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="220" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[220]</anchor-end> 
そうした事例の中には、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>が使われていることもあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>も混在するので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>として見たときに異なるのに、
実際には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>として等しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>が含まれている場合があります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>を正しく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>できれば単一の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>になりますが、
誤って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>すると正しい名前と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字化け</anchor>した名前の2つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>に分裂することになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="221" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[221]</anchor-end> 
実際に流通しているかどうかは不明ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor><em>なし</em>で、異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が混在することも理論上はあり得ます。
異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>で既存の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>に新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を追加すると、
特別な知識なしでも容易にそうしたファイルを作り得ます。
ただそうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>はほぼ確実に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字化け</anchor>して表示されることになりますし、
そうした作り方で異なる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>を移動しながら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を追加していくという状況はあまりなさそうですから、
そのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>が流通し続けることは稀かもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="222" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[222]</anchor-end> 
こうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の混在と同名だったり同名でなかったりする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の取り扱いは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー</anchor>上の問題を引き起こすこともありますし、
そうでなくても不具合の温床となりますから、実装者は注意が必要です。</p></section></section><section><h1>ファイル名の文字コード決定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>では
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
が使われる場合が多くなっているものの、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 以外の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>も過去に作成され大量に蓄積されていますし、
現在でも依然として生産され続けている実情があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>のため、実装は、</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>あり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>なし、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>なし、 その他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor></li></ul><p>の読み込みに対応する必要があります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="223" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[223]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>以外の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>に関係する各種<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ情報</anchor>は、
無視して構わないと思われます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="224" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[224]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>がない場合、どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が使われているかは 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>内に明記されないため、何らかの手段で決定しなければなりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> 
一般に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の決定方法は何通りかありますが <sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>文字コードの判定</anchor> </sw-see>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の場合に当てはめると次のものがあります。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> 決め打ち<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 固定、その他の特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>固定など</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> 特定目的専用の実装ならこれで十分なこともあります。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> 汎用的な展開プログラムや<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>組み込み用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>などでは不適切です。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="226" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[226]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>に固定<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="227" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[227]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>固定、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>固定<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="229" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[229]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> 用の実装が採用していることが多いです。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="228" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[228]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>に相当する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>を求めてそれに固定<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="230" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[230]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> 等の実装が採用していることがあります。</li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="231" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[231]</anchor-end> 実行時のオプションで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>を指定<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="232" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[232]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CLI</anchor> プログラムや<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>組み込み用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>などが採用していることがあります。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="233" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[233]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>から推定</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="234" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[234]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の入手元の情報を利用して推定<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="235" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[235]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLD</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="237" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[237]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答ヘッダー</anchor>の <code>Content-Language</code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="236" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[236]</anchor-end> 配布ページの <code>lang=&quot;&quot;</code></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="238" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[238]</anchor-end> 
使われ方がある程度決まったソフトウェアなら利用環境などの事前知識を使うことができますが、
どんな入力があるかわからない汎用のソフトウェアは推定手法を組み合わせることになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="239" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[239]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を使った推定手法は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> などで用いられており、
参考にできます。ただし、</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="240" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[240]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> とは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の傾向が異なる。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> ではまず使われない <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor>
ではむしろ主体。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="241" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[241]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は短いことが非常に多く、
しかも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>は更にその一部分でしかないことが多い。
正確な判定の材料が少ない。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="242" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[242]</anchor-end> 必ず <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が伴う <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> と違って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor>
はファイル単体で流通することが多い。</li></ul><p>といった <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> 固有の事情があるので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> 用そのままでは必ずしも有効な実装になりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="225" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[225]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の決定は、厳密には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>ごとに行うべきですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は短いことが多く<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コードの判定</anchor>が難しい場合があること、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>ごとに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が異なる場合は無視していいと思われること (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="221" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;221</anchor-internal>)
から、
単独ではなく組み合わせにより行うことで精度を高められると考えられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="243" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[243]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> との混在 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="220" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;220</anchor-internal>) がある場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> でない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>の結果と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の分布が近い
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>が該当する場合は部分一致する)
可能性があり、このことを推定の材料にできるかもしれません。</p></section><section><h1>ファイル名に出現し得る文字コード</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="244" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[244]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8フラグ</anchor>がない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>で使われる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の全体像は不明です。
これまでに大規模な調査などは行われたことが無さそうですし、
実行環境等に依存しない汎用的な実装をどのように作るべきかという議論もほとんど見られませんから、
手がかりが多くありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="245" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[245]</anchor-end> 
実例 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;69</anchor-internal>) がある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の他に、
実装例が知られている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>がいくつかあり、
それ以外に言及がある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>もいくつかあります。
こうした情報をヒントにできそうです。
ただし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>は公開 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor>
でやり取りされないものも大量に存在すると考えられますから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> 上で実例が見つけられるものだけに限定して考察するのは危険と思われます。</p><section><h1>ZIPのファイル名のコードページ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="246" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[246]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>はすべて使われる(た)と想定するのが良いかもしれませんが、
歴史的にあまり使われなかったらしい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>もあるので、
それらは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> でも使われなかった可能性があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="247" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[247]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>はすべて使われる(た)と想定するのが良いかもしれませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>がもっぱら使われ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>は使われなかったものもあるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="250" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[250]</anchor-end> 従って、一応主要な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>はすべて
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>で出現し得るものとして対応するべきと考えられます。
具体的な一覧と、主に使われた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">国</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>との対応関係については、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>の項にある一覧表を参照。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> 
実装に明示的に実装されながら、実ファイルは未発見のもの:
CP720 CP855 CP857 CP858 CP860 CP861 CP862 CP863 CP864 CP869</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[266]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="263" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;263</anchor-internal> によると
PKZip for Windows 2.5, 2.6, 4.0 は
central directory header で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>を使い、
local directory header で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>を使うようです。
それに対処するための分岐とテストコードがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="267" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[267]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="263" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;263</anchor-internal> によると
PKZip version 5 以上は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>を使うようです。
それに対処するための分岐とテストコードがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="268" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[268]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKZip</anchor> という公式実装が使っている <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の版の情報を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OEMコードページ</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSIコードページ</anchor>のどちらかの判定に使っているわけです。
ただ公式実装以外がこれらをどう使っているかは怪しいところではありますし、
実際の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> 上のファイルを見るにこの判定条件で正確に対処できるのかは疑わしいように思われます。
ある程度のヒントには使えるのかもしれません。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="263" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[263]</anchor-end> <cite xml:lang="en">Merge into ubuntu/devel : fix-code-pages : lp:~mitya57/ubuntu/+source/unzip : Git : Code : unzip package : Ubuntu</cite>, <time>2025-05-25T14:30:02.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://code.launchpad.net/~mitya57/ubuntu/+source/unzip/+git/unzip/+merge/466860">https://code.launchpad.net/~mitya57/ubuntu/+source/unzip/+git/unzip/+merge/466860</anchor-external></li></ul></refs></section><section><h1>ZIPファイル名のその他の文字コード</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="248" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[248]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> で主に使われた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の他に、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> で主に使われた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>が言及されることもあります。
ただ、歴史的に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>は主に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> 系の環境で使われてきたもので、
それ以外の環境では主に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOS</anchor> 系の環境との互換性を意識して 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>を使うことが多かったと推測されますから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>を使った
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の流通量はそれほど多くない(なかった)と思われます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="249" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[249]</anchor-end> 
近年では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書庫ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事実上の標準</anchor>となってどの環境でも普及していますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> を使うか、当該地域の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> 上の主要な実装と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コードページ</anchor>を採用するのが普通と思われます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="145" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[145]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;81</anchor-internal> は</p><blockquote><p>Convert filenames inside ZIP archives from autodetected older Russian encodings (koi8-r, koi8-u, cp866, windows-1251) to UTF-8.</p></blockquote><p>と説明しており、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キリル文字</anchor>を使う
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KOI8-R</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KOI8-U</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP866</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows-1251</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キリル文字</anchor>の出現頻度の情報から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">自動判定</anchor>します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="254" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[254]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キリル文字</anchor>圏では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KOI8</anchor> シリーズがかなり使われていましたが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>での実態はよくわかりません。現在のところ利用事例は確認されていません。
実利用事例の大多数は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP866</anchor> です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="252" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[252]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;78</anchor-internal> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語EUC</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-2022-JP</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">自動判別</anchor>する実装が紹介されています。また、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語EUC</anchor>のテストファイルも掲載しています。
しかし
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-2022-JP</anchor>
は生成する実装があるのか不明としています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="255" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[255]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;78</anchor-internal> で掲載されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語EUC</anchor>のファイルはテスト用に製作されたものです。
容易にそれを製作できる環境はあったようですが、
さて、そのようなものがどれだけ使われていたのかは不明です。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="253" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[253]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-2022-JP</anchor> はおそらく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語</anchor>用の主要な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の1つだからと対象に含められただけで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の利用事例があって実装されたわけではなさそうです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> 
<cite xml:lang="ja">【2025年】zip圧縮・展開(解凍) おすすめソフト12選まとめ+解説、文字化けよさらば!【Win・Mac】 #Windows - Qiita</cite>, <time>2025-07-01T05:46:06.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://qiita.com/ko1nksm/items/b1e320f418614372c43e">https://qiita.com/ko1nksm/items/b1e320f418614372c43e</anchor-external></p><blockquote><p>zip ファイルに関しても、macOS は Shift JIS に対応しています。ただし Windows 拡張版の CP932 ではなく、Mac OS 拡張版の MacJapaneseです。つまり古い Mac OS で作成した zip ファイルを展開できるようになっています。zip ファイルの中のファイル名の文字コードは国によって様々な文字コードが使われてきました。様々な文字コードが使われる状況では文字化けしやすいのは当然です。現在では Windows も macOS も Unicode を使っているわけで、あなたに Shift JIS を使う理由がないのであれば、zip ファイルの中のファイル名にも Unicode (UTF-8) を使いましょう。</p></blockquote><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="141" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[141]</anchor-end> 
なお、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;89</anchor-internal>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロファイル</anchor>の1つである
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 21320-1:2015</anchor>
を
「ISO/IEC の zip の標準規格」
という誇大な説明によって自説の補強に用いています。
まあ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロファイル</anchor>は一種の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の標準と言えなくもないのですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> 
の主要な技術仕様は他の文書を参照しているだけで、
直接的にはそれに対する追加の制約部分のみしか含まれないのですから、
誤解を招くだけであり、健全な説明とはいえません。
当該主張それ自体には問題がないのに、
無理な論拠を提示することによって優良性の誤認を誘発し、自ら有用性を毀損している残念な例です。</p></history><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[142]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;89</anchor-internal></p><blockquote><p>Windows 標準の zip 機能は、正しい UTF-8 ファイル名(UTF-8 フラグが設定、または Unicode パス拡張フィールドの設定)であれば問題なく展開できたのですが、macOS 標準機能で作成した zip ファイルは、正しい UTF-8 ファイル名ではないので文字化けしてしまいます。他のソフトで文字化けしないのは、おそらく別の情報を参照しており、zip ファイルの情報に作成 OS が「Unix」と記録されていれば UTF-8 だろうと推測しているようです。<snip xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></snip></p></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[143]</anchor-end> 「他のソフト」の挙動が本当に検証したものなのか、筆者の推測なのか、これだけではよくわからない。</comment-p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="251" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[251]</anchor-end> <cite xml:lang="en">GitHub - sanori/unzip-mbcs: UnZip for non-UTF8 encoding such as cp949, sjis, gbk, euc-kr, euc-jp, and gb2312</cite>, <time>2025-10-19T11:13:01.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/sanori/unzip-mbcs">https://github.com/sanori/unzip-mbcs</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="256" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[256]</anchor-end> <cite xml:lang="en">GitHub - sanori/node-unzip-mbcs: UnZip for non-UTF8 encoding such as cp949, sjis, gbk, euc-kr, euc-jp, and gb2312</cite>, <time>2025-10-19T11:13:08.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/sanori/node-unzip-mbcs">https://github.com/sanori/node-unzip-mbcs</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="257" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[257]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="251" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;251</anchor-internal> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="256" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;256</anchor-internal> は次のものの読み込みに対応しています。</p><blockquote><p>Major non-UTF8 encodings by languages:<ul><li>Korean: cp949, euc-kr</li><li>Japanese: sjis (shift_jis), cp932, euc-jp</li><li>Chinese: gbk, gb18030, gb2312, cp936, hkscs, big5, cp950</li></ul></p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="258" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[258]</anchor-end> テストデータとしてテスト用に作成されたと思われる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor>
ファイルがありますが、 <code>cp949</code> のものと <code>sjis</code>
のもののみで、それ以外は有名な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>に対応しただけかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="332" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[332]</anchor-end> 
<cite>The OpenNET Project: Работа с русскими именами файлов в ZIP и UNZIP под *nix</cite>, <time>2025-12-30T09:50:35.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.opennet.ru/tips/2494_zip_rus_patch.shtml">https://www.opennet.ru/tips/2494_zip_rus_patch.shtml</anchor-external></p></section></section><section><h1>ファイル名文字コードの自動判定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="269" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[269]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コードの判定</anchor>は、
一般の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コードの判定</anchor>問題に加えて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>特有の事情にも配慮が必要です (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="239" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;239</anchor-internal>)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="270" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[270]</anchor-end> 
一般の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コードの判定</anchor>問題も完全に正確に回答を得ることは不可能で、
各種実装をみてもどれも一長一短で完璧なものはありません。 <sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>文字コードの判定</anchor> </sw-see>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は短い文字列なので、
難度は更に高まります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="271" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[271]</anchor-end> 
従って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>などの補助的情報があれば、それを組み合わせて候補を絞り込むことが重要になってきます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="272" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[272]</anchor-end> 
誤判定を予期して、実行時オプション等の形で手動で上書きする仕組みを併用することも重要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> 
実装事例等:</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 
<cite>SUMMARY: Zip/Unzip and encoding problem (Was: Re: How to detect the encoding of a string?)</cite>, <time>2025-05-23T12:03:58.000Z</time>, <time>2006-05-04T04:53:45.961Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20060504040848/http://mail.nl.linux.org/linux-utf8/2005-06/msg00010.html">https://web.archive.org/web/20060504040848/http://mail.nl.linux.org/linux-utf8/2005-06/msg00010.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> 
<cite xml:lang="en">Bug #177929 “Should autodetect filename character encoding in zi...” : Bugs : file-roller package : Ubuntu</cite>, <time>2025-05-16T09:43:23.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.launchpad.net/ubuntu/+source/file-roller/+bug/177929">https://bugs.launchpad.net/ubuntu/+source/file-roller/+bug/177929</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 
<cite xml:lang="en">Add option to unzip to detect the encoding of filenames : Blueprints : unzip</cite>, <time>2025-05-23T12:05:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://blueprints.launchpad.net/unzip/+spec/unzip-detect-filename-encoding">https://blueprints.launchpad.net/unzip/+spec/unzip-detect-filename-encoding</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> 
<cite xml:lang="en">GitHub - vlm/zip-fix-filename-encoding: Fix cyrillic character encoding of filenames inside zip archives</cite>, <time>2025-05-16T10:03:38.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/vlm/zip-fix-filename-encoding">https://github.com/vlm/zip-fix-filename-encoding</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="144" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[144]</anchor-end> 
<cite xml:lang="en">zip-fix-filename-encoding/src/runzip.c at master · vlm/zip-fix-filename-encoding · GitHub</cite>, <time>2025-05-24T14:05:58.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/vlm/zip-fix-filename-encoding/blob/master/src/runzip.c">https://github.com/vlm/zip-fix-filename-encoding/blob/master/src/runzip.c</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> 
<cite xml:lang="ja">Develop/UnzipTestcase - Ubuntu Japanese Wiki</cite>, <time>2025-05-16T09:43:54.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.ubuntulinux.jp/Develop/UnzipTestcase">https://wiki.ubuntulinux.jp/Develop/UnzipTestcase</anchor-external></li></ul></refs><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="303" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[303]</anchor-end> <cite xml:lang="en">ZIP Mojibake Fixer</cite>, <time>2021-04-12T14:28:40.000Z</time>, <time>2025-11-22T14:11:46.084Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ianharmon.github.io/mojibake-fixer/">https://ianharmon.github.io/mojibake-fixer/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="304" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[304]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>とみなして変換する実装</li></ul></li></ul></section><section><h1>実ファイル例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> 各種<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の入った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>:</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <cite xml:lang="en">Access to documents requests (in French only)</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Institut de la statistique du Québec</anchor>, <time>2025-05-24T03:09:07.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://statistique.quebec.ca/en/institut/our-organization/access-to-information/access-to-documents-requests">https://statistique.quebec.ca/en/institut/our-organization/access-to-information/access-to-documents-requests</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://statistique.quebec.ca/fr/fichier/demande-acces-9448-24.zip">https://statistique.quebec.ca/fr/fichier/demande-acces-9448-24.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> 
<cite xml:lang="en">Submitting a request</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Institut de la statistique du Québec</anchor>, <time>2025-05-24T03:14:59.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://statistique.quebec.ca/en/services-recherche/submitting-a-request">https://statistique.quebec.ca/en/services-recherche/submitting-a-request</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://statistique.quebec.ca/en/fichier/rda-startup-kit.zip">https://statistique.quebec.ca/en/fichier/rda-startup-kit.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="307" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[307]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII文字</anchor>のみのものに変更確認 <time>2025-12-13T02:08:03.00Z</time></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="308" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[308]</anchor-end> 
<cite>Wayback Machine</cite>, <time>2025-12-13T02:07:40.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20250524031518/https://statistique.quebec.ca/en/fichier/rda-startup-kit.zip">https://web.archive.org/web/20250524031518/https://statistique.quebec.ca/en/fichier/rda-startup-kit.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="309" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[309]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>が含まれていた時代のもの</li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> 
<cite xml:lang="fr">Outils promotionnels En nature, ma sécurité, c’est ma responsabilité | Gouvernement du Québec</cite>, <time>2025-05-24T03:17:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.quebec.ca/securite-situations-urgence/securite-civile/soutien-partenaires/outils-promotionnels-nature-securite-responsabilite">https://www.quebec.ca/securite-situations-urgence/securite-civile/soutien-partenaires/outils-promotionnels-nature-securite-responsabilite</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://cdn-contenu.quebec.ca/cdn-contenu/adm/min/securite-publique/publications-adm/publications-secteurs/securite-civile/soutien-partenaires/jpg_gif_hd.zip">https://cdn-contenu.quebec.ca/cdn-contenu/adm/min/securite-publique/publications-adm/publications-secteurs/securite-civile/soutien-partenaires/jpg_gif_hd.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="313" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[313]</anchor-end> 
<cite xml:lang="en">ZipInfo corrupts file names in some old zip archives · Issue #84353 · python/cpython</cite>, <time>2025-12-30T08:42:31.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/python/cpython/issues/84353">https://github.com/python/cpython/issues/84353</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="314" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[314]</anchor-end> 
<time>2025-12-30T08:42:48.100Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.python.org/file49030/example.zip">https://bugs.python.org/file49030/example.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="315" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[315]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>全体の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM437</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">罫線</anchor>等)。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="316" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[316]</anchor-end> 
<time>2025-12-30T08:43:29.200Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/python/cpython/files/14594709/name_bug.zip">https://github.com/python/cpython/files/14594709/name_bug.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="317" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[317]</anchor-end> <code>test.zip</code><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="318" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[318]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM437</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">括弧</anchor>)。</li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="323" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[323]</anchor-end> <cite xml:lang="en">Regression: ZipFile/ZipArchive entry name decoding not working correctly when entryNameEncoding is specified · Issue #92283 · dotnet/runtime</cite>, <time>2025-12-30T09:41:02.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/issues/92283#issuecomment-2109982824">https://github.com/dotnet/runtime/issues/92283#issuecomment-2109982824</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="324" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[324]</anchor-end> 
<time>2025-12-30T09:41:29.500Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/files/15307551/Documentacion.zip">https://github.com/dotnet/runtime/files/15307551/Documentacion.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="327" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[327]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Info-Zip Unicode</anchor> 欄あり</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="325" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[325]</anchor-end> 
<time>2025-12-30T09:41:40.400Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/files/15316539/UnzipNames.zip">https://github.com/dotnet/runtime/files/15316539/UnzipNames.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="328" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[328]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Info-Zip Unicode</anchor> 欄あり</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="326" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[326]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> (フラグ付き) と混在</li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="150" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[150]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP737</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[151]</anchor-end> 
<cite xml:lang="en">Comment #12 : Bug #580961 : Bugs : unzip package : Ubuntu</cite>, <time>2025-05-25T01:39:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/580961/comments/12">https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/580961/comments/12</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[149]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.ops.gr/Ergorama/fileUploads/ypiresiaops/prokirikseis/biografiko.zip">https://www.ops.gr/Ergorama/fileUploads/ypiresiaops/prokirikseis/biografiko.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> 
<cite xml:lang="el">Διακηρύξεις μίσθωσης και εκμίσθωσης ακινήτων. - Διεύθυνση Διοικητικών Υπηρεσιών - Ελληνική Δημοκρατία - Περιφέρεια Αττικής</cite>, <time>2025-05-23T15:18:47.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis">https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis</anchor-external><ul><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=YTJ4TDV2Tnh1ZzAzZG9KSkRWZXVEcVZtY2ZHZDZoS1owc2FyY0tQNUovSGFqMkhpK2xZNkxOVHBxdHFaeWNSdGVFY3JMMjEzUzNKbmRXeGhlSGQ0VEZCWVNFRTFRVDA5">https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=YTJ4TDV2Tnh1ZzAzZG9KSkRWZXVEcVZtY2ZHZDZoS1owc2FyY0tQNUovSGFqMkhpK2xZNkxOVHBxdHFaeWNSdGVFY3JMMjEzUzNKbmRXeGhlSGQ0VEZCWVNFRTFRVDA5</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> (フラグあり) のファイルと混在</li></ul></li><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=WGNVMDZpUXBkL0VvczA4L0RHM1NMVWxCMkRQSUdMdWlDbjNFY1VGZTZSQXk2aEJoWGhoSkRGZWtSa0diR2c0MVltZ3ZNa3R1VTA1MlZUWnNSM0p6V21wWk5ERk5VVDA5">https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=WGNVMDZpUXBkL0VvczA4L0RHM1NMVWxCMkRQSUdMdWlDbjNFY1VGZTZSQXk2aEJoWGhoSkRGZWtSa0diR2c0MVltZ3ZNa3R1VTA1MlZUWnNSM0p6V21wWk5ERk5VVDA5</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="137" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[137]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP775</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[138]</anchor-end> <cite xml:lang="en">LIFE EcosystemServices</cite>, <time>2025-05-24T07:14:58.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ekosistemas.daba.gov.lv/public/eng/deliverables_and_publications1/ecosystem_services_mapping/">https://ekosistemas.daba.gov.lv/public/eng/deliverables_and_publications1/ecosystem_services_mapping/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="139" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[139]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ekosistemas.daba.gov.lv/upload/File/02%20Biotopu%20kvalit%C4%81tes%20kartes.zip">https://ekosistemas.daba.gov.lv/upload/File/02%20Biotopu%20kvalit%C4%81tes%20kartes.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="319" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[319]</anchor-end> 
<cite xml:lang="en">Regression: ZipFile/ZipArchive entry name decoding not working correctly when entryNameEncoding is specified · Issue #92283 · dotnet/runtime</cite>, <time>2025-12-30T09:21:35.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/issues/92283">https://github.com/dotnet/runtime/issues/92283</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="320" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[320]</anchor-end> 
<time>2025-12-30T09:21:55.500Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/files/12662810/test_win.zip">https://github.com/dotnet/runtime/files/12662810/test_win.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="321" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[321]</anchor-end> 
<time>2025-12-30T09:40:46.200Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/files/12662809/test_dotnet.zip">https://github.com/dotnet/runtime/files/12662809/test_dotnet.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="322" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[322]</anchor-end> こちらは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> (フラグあり)</li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP850</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> 
<cite>Portal Autárquico - Publicações on-line</cite>, <time>2025-05-24T02:38:51.000Z</time>, <time>2025-05-24T02:55:21.283Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://portalautarquico.dgal.gov.pt/pt-PT/servicos-on-line/biblioteca/publicacoes-on-line/">https://portalautarquico.dgal.gov.pt/pt-PT/servicos-on-line/biblioteca/publicacoes-on-line/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://portalautarquico.dgal.gov.pt/ficheiros/?schema=f7664ca7-3a1a-4b25-9f46-2056eef44c33&amp;channel=266f4a32-848e-4d2c-99c6-ad5b5511d7fe&amp;content_id=143C8989-5D21-45F1-8EC0-7CEAEAC0049E&amp;field=storage_image&amp;lang=pt&amp;ver=1&amp;filetype=zip&amp;dtestate=2024-04-22132849">https://portalautarquico.dgal.gov.pt/ficheiros/?schema=f7664ca7-3a1a-4b25-9f46-2056eef44c33&amp;channel=266f4a32-848e-4d2c-99c6-ad5b5511d7fe&amp;content_id=143C8989-5D21-45F1-8EC0-7CEAEAC0049E&amp;field=storage_image&amp;lang=pt&amp;ver=1&amp;filetype=zip&amp;dtestate=2024-04-22132849</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://portalautarquico.dgal.gov.pt/ficheiros/?schema=f7664ca7-3a1a-4b25-9f46-2056eef44c33&amp;channel=266f4a32-848e-4d2c-99c6-ad5b5511d7fe&amp;content_id=C73AC715-5085-48A0-9D5B-64C92E0D092F&amp;field=storage_image&amp;lang=pt&amp;ver=1&amp;filetype=zip&amp;dtestate=2024-04-22132817">https://portalautarquico.dgal.gov.pt/ficheiros/?schema=f7664ca7-3a1a-4b25-9f46-2056eef44c33&amp;channel=266f4a32-848e-4d2c-99c6-ad5b5511d7fe&amp;content_id=C73AC715-5085-48A0-9D5B-64C92E0D092F&amp;field=storage_image&amp;lang=pt&amp;ver=1&amp;filetype=zip&amp;dtestate=2024-04-22132817</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="284" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[284]</anchor-end> <cite xml:lang="pt-PT">O mundo da tradução na Dokutech Translations</cite>, <time>2025-11-15T11:36:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://repositorium.uminho.pt/entities/publication/45bd0926-6e82-4f96-b97d-a88b2f2c6139">https://repositorium.uminho.pt/entities/publication/45bd0926-6e82-4f96-b97d-a88b2f2c6139</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="285" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[285]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://repositorium.uminho.pt/bitstreams/083f5a66-91d9-4309-98e2-b5190fc9b95f/download">https://repositorium.uminho.pt/bitstreams/083f5a66-91d9-4309-98e2-b5190fc9b95f/download</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="286" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[286]</anchor-end> 
<cite xml:lang="pt-PT">A dinamização cultural dos recursos informativos do Arquivo Municipal de Paredes de Coura</cite>, <time>2025-11-15T11:40:08.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://repositorium.uminho.pt/entities/publication/5f48e172-165d-422f-99f3-932184384ba2/full">https://repositorium.uminho.pt/entities/publication/5f48e172-165d-422f-99f3-932184384ba2/full</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="287" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[287]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://repositorium.uminho.pt/server/api/core/bitstreams/ac1b90d9-8d44-43ad-b26a-22933743fb67/content">https://repositorium.uminho.pt/server/api/core/bitstreams/ac1b90d9-8d44-43ad-b26a-22933743fb67/content</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="290" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[290]</anchor-end> 
<cite xml:lang="pt-pt">Acesso aos arquivos | OMIP</cite>, <time>2025-11-15T11:31:10.000Z</time>, <time>2025-11-15T11:46:15.431Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/pt/downloads">https://www.omip.pt/pt/downloads</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="289" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[289]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/system/files/2023-02/Circulares%20OMIP_20.Fev_.2023_PT.zip">https://www.omip.pt/system/files/2023-02/Circulares%20OMIP_20.Fev_.2023_PT.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="288" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[288]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/system/files/2023-02/Circulares%20OMIP_27.Feb_.2023_ES.zip">https://www.omip.pt/system/files/2023-02/Circulares%20OMIP_27.Feb_.2023_ES.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="291" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[291]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/system/files/2020-03/general_models_es.zip">https://www.omip.pt/system/files/2020-03/general_models_es.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="292" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[292]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/system/files/2020-03/omip_models_es.zip">https://www.omip.pt/system/files/2020-03/omip_models_es.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="293" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[293]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.omip.pt/system/files/2020-03/omip_models_pt.zip">https://www.omip.pt/system/files/2020-03/omip_models_pt.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="295" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[295]</anchor-end> 
<cite xml:lang="pt-br">Pesquisa de Ações Discriminatórias no Âmbito Escolar — Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira | Inep</cite>, <time>2025-11-15T11:59:38.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/pesquisa-de-acoes-discriminatorias-no-ambito-escolar">https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/pesquisa-de-acoes-discriminatorias-no-ambito-escolar</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="294" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[294]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://download.inep.gov.br/microdados/microdados_pesquisa_acoes_discriminatorias_ambito_escolar_2008.zip">https://download.inep.gov.br/microdados/microdados_pesquisa_acoes_discriminatorias_ambito_escolar_2008.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="297" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[297]</anchor-end> 
<cite xml:lang="pt-br">Enem por Escola — Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira | Inep</cite>, <time>2025-11-15T12:02:13.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/enem-por-escola">https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/enem-por-escola</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="296" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[296]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://download.inep.gov.br/microdados/enem_por_escola/2005_a_2015/microdados_enem_por_escola.zip">https://download.inep.gov.br/microdados/enem_por_escola/2005_a_2015/microdados_enem_por_escola.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 
<cite xml:lang="fr">Recherche - Les services de l'État en Gironde</cite>, <time>2025-05-22T02:50:00.000Z</time>, <time>2025-05-23T10:54:08.958Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gironde.gouv.fr/contenu/recherche/(offset)/1350?SearchText=&amp;dateFilter[]=">https://www.gironde.gouv.fr/contenu/recherche/(offset)/1350?SearchText=&amp;dateFilter[]=</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gironde.gouv.fr/contenu/telechargement/45738/310633/file/G%C3%A9n%C3%A9rac.zip">https://www.gironde.gouv.fr/contenu/telechargement/45738/310633/file/G%C3%A9n%C3%A9rac.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Language</anchor>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fr-FR</anchor></code></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP437</anchor> とも等しい</li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP852</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> 
<cite xml:lang="cs">Technologická agentura ČR</cite>, <time>2025-05-24T03:27:05.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tacr.gov.cz/dokumenty/prostredi-pro-zivot-2-logolinky-zip">https://tacr.gov.cz/dokumenty/prostredi-pro-zivot-2-logolinky-zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tacr.gov.cz/wp-content/uploads/documents/2024/01/29/1706524597_Prostr%CC%8Cedi%CC%81%20pro%20z%CC%8Civot%202_logolinky.zip">https://tacr.gov.cz/wp-content/uploads/documents/2024/01/29/1706524597_Prostr%CC%8Cedi%CC%81%20pro%20z%CC%8Civot%202_logolinky.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> フラグ付きと混在</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="348" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[348]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Info-ZIP</anchor> 名もあり</li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> 
<cite xml:lang="cs">C121040 Dodatečné informace.zip, MŠMT ČR</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QCM, s.r.o web@qcm.cz http://www.qcm.cz</anchor>, <time>2025-05-24T03:31:03.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msmt.gov.cz/file/26589/">https://msmt.gov.cz/file/26589/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msmt.gov.cz/file/26589_1_1/download/">https://msmt.gov.cz/file/26589_1_1/download/</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[120]</anchor-end> 
<cite>Ministarstvo zaštite okoliša i zelene tranzicije Republike Hrvatske - Financijski dokumenti</cite>, <time>2025-05-24T03:39:50.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://mzozt.gov.hr/pristup-informacijama-4924/strategije-planovi-izvjesca-i-ostali-dokumenti/financijski-dokumenti/1071?big=0">https://mzozt.gov.hr/pristup-informacijama-4924/strategije-planovi-izvjesca-i-ostali-dokumenti/financijski-dokumenti/1071?big=0</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://mzozt.gov.hr/UserDocsImages//Pristup%20informacijama//07805%20Financijski%20plan%202025-2027.zip">https://mzozt.gov.hr/UserDocsImages//Pristup%20informacijama//07805%20Financijski%20plan%202025-2027.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="131" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[131]</anchor-end> 
<cite xml:lang="pl-PL">Pliki do pobrania KSeF</cite>, <time>2025-05-15T08:27:18.000Z</time>, <time>2025-05-24T05:49:17.015Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ksef.podatki.gov.pl/baza-wiedzy-ksef/pliki-do-pobrania-ksef/">https://ksef.podatki.gov.pl/baza-wiedzy-ksef/pliki-do-pobrania-ksef/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="130" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[130]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ksef.podatki.gov.pl/media/afqfu0g4/przykladowe-pliki-dla-struktury-logicznej-e-faktury-fa-2.zip">https://ksef.podatki.gov.pl/media/afqfu0g4/przykladowe-pliki-dla-struktury-logicznej-e-faktury-fa-2.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP857</anchor><ul><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> 
<cite xml:lang="tr">YOZGAT GENÇLİK VE SPOR İL MÜDÜRLÜĞÜ</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">T.C. Gençlik ve Spor Bakanlığı</anchor>, <time>2025-05-23T14:58:12.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://yozgat.gsb.gov.tr/Sayfalar/1916/388/Kul%C3%BCp%20%C4%B0%C5%9Flemleri.aspx">https://yozgat.gsb.gov.tr/Sayfalar/1916/388/Kul%C3%BCp%20%C4%B0%C5%9Flemleri.aspx</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://yozgat.gsb.gov.tr/Public/Edit/images/IM/83/Kul%C3%BCp%20Tescil%20Bilgileri/1-Spor%20Kul%C3%BCpleri%20ile%20ilgili%20Mevzuatlar.zip">https://yozgat.gsb.gov.tr/Public/Edit/images/IM/83/Kul%C3%BCp%20Tescil%20Bilgileri/1-Spor%20Kul%C3%BCpleri%20ile%20ilgili%20Mevzuatlar.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="121" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[121]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP866</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</anchor-end> 
<cite>НАЧАЛО - Контролна дейност - Годишни планове за контролната дейност - Годишни планове за контролната дейност на РИОСВ-Стара Загора - Регионална инспекция по околната среда и водите - РИОСВ -Стара Загора</cite>, <time>2025-05-24T03:47:49.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://stz.riew.gov.bg/Godishni_planove_za_kontrolnata_deynost_na_RIOSV_Stara_Zagora-p447">https://stz.riew.gov.bg/Godishni_planove_za_kontrolnata_deynost_na_RIOSV_Stara_Zagora-p447</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[122]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://stz.riew.gov.bg/files/File/%D0%93%D0%BE%D0%B4%D0%B8%D1%88%D0%B5%D0%BD%20%D0%BF%D0%BB%D0%B0%D0%BD/59KZ-Plan_2015.zip">https://stz.riew.gov.bg/files/File/%D0%93%D0%BE%D0%B4%D0%B8%D1%88%D0%B5%D0%BD%20%D0%BF%D0%BB%D0%B0%D0%BD/59KZ-Plan_2015.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[125]</anchor-end> 
<cite xml:lang="mk-MK">Квартални извештаи – Општина Куманово</cite>, <time>2025-05-24T03:57:50.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://kumanovo.gov.mk/document-category/kvartalni/">https://kumanovo.gov.mk/document-category/kvartalni/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="126" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[126]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://kumanovo.gov.mk/wp-content/uploads/2022/04/IV-%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB-2021.zip">https://kumanovo.gov.mk/wp-content/uploads/2022/04/IV-%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB-2021.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> フラグ付きと混在</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://kumanovo.gov.mk/wp-content/uploads/2022/04/III-%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB-2021.zip">https://kumanovo.gov.mk/wp-content/uploads/2022/04/III-%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB-2021.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[132]</anchor-end> 
<time>2025-05-24T06:27:33.000Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://data.gov.ua/dataset/36f4ddb7-b1f5-4971-b94e-76cb4e1bca58/resource/46c69404-5354-42a9-8b21-0a4994bba701/download/2020-vid-11-11.zip">https://data.gov.ua/dataset/36f4ddb7-b1f5-4971-b94e-76cb4e1bca58/resource/46c69404-5354-42a9-8b21-0a4994bba701/download/2020-vid-11-11.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[147]</anchor-end> 
<cite xml:lang="en">undefined is not an object (evaluating 'zip.file(/\.fb2$/)<strong>[</strong>0<strong>]</strong>.async') · Issue #629 · johnfactotum/foliate</cite>, <time>2025-05-25T01:12:59.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/johnfactotum/foliate/issues/629">https://github.com/johnfactotum/foliate/issues/629</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="146" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[146]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/johnfactotum/foliate/files/5572506/_-_._.fb2.zip">https://github.com/johnfactotum/foliate/files/5572506/_-_._.fb2.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[148]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;147</anchor-internal> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KOI8-R</anchor> と推測されているが実際には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM866</anchor> と思われる</li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[156]</anchor-end> 
<cite xml:lang="en">Add proper support for CP1251 in case of generated Zip archive under Windows via 7zip · Issue #23 · mrkkrp/zip</cite>, <time>2025-05-25T02:50:24.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mrkkrp/zip/issues/23">https://github.com/mrkkrp/zip/issues/23</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[155]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mrkkrp/zip/files/491598/vaz.zip">https://github.com/mrkkrp/zip/files/491598/vaz.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="331" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[331]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP1251</anchor> だと言っているのは誤り。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="283" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[283]</anchor-end> 
<time>2025-11-11T11:08:04.900Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001102025703/http://www.uzpak.uz/comerce.zip">https://web.archive.org/web/20001102025703/http://www.uzpak.uz/comerce.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP874</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
<time>2025-05-17T03:38:24.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://pathumthani.industry.go.th/th/3/content">https://pathumthani.industry.go.th/th/3/content</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://pathumthani.industry.go.th/web-upload/45x67bf7a6fe8eeb7d38245cecd679435cf/m_document/28692/99893/file_download/3a457beb0c64023c079bb0275d87b88f.zip">https://pathumthani.industry.go.th/web-upload/45x67bf7a6fe8eeb7d38245cecd679435cf/m_document/28692/99893/file_download/3a457beb0c64023c079bb0275d87b88f.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP932</anchor> <ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> 
<time>2025-05-12T12:47:57.00Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.city.yokohama.lg.jp/tsuzuki/kusei/koho/koho_tsuzuki/kohoback/R2tzkoho.files/2004tsuzuki-text.zip">https://www.city.yokohama.lg.jp/tsuzuki/kusei/koho/koho_tsuzuki/kohoback/R2tzkoho.files/2004tsuzuki-text.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> 
<time>2025-05-12T12:53:38.00Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.city.yokohama.lg.jp/totsuka/shokai/gaiyo/totsukafuoto/kategori_sagasu/sonota/c04-01-mt_fuji01.files/c04-01-0006.zip">https://www.city.yokohama.lg.jp/totsuka/shokai/gaiyo/totsukafuoto/kategori_sagasu/sonota/c04-01-mt_fuji01.files/c04-01-0006.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> 
<time>2025-05-12T11:46:36.00Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www2s.biglobe.ne.jp/~ant/gaiji.zip">https://www2s.biglobe.ne.jp/~ant/gaiji.zip</anchor-external><ul><li>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">半角カタカナ</anchor>)</li></ul></li><li><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;78</anchor-internal></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="260" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[260]</anchor-end> 
<cite xml:lang="en">unzip-mbcs/test/test_unzipmbcs.py at master · sanori/unzip-mbcs · GitHub</cite>, <time>2025-10-19T11:15:44.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/sanori/unzip-mbcs/blob/master/test/test_unzipmbcs.py">https://github.com/sanori/unzip-mbcs/blob/master/test/test_unzipmbcs.py</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="261" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[261]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>にも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> 
<cite xml:lang="en">japanese file name encoding are corrupted · Issue #384 · Stuk/jszip</cite>, <time>2025-11-22T13:44:07.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/Stuk/jszip/issues/384">https://github.com/Stuk/jszip/issues/384</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="301" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[301]</anchor-end> 
<cite xml:lang="en">Some test data · Issue #2 · ianharmon/mojibake-fixer</cite>, <time>2025-11-22T14:05:57.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ianharmon/mojibake-fixer/issues/2">https://github.com/ianharmon/mojibake-fixer/issues/2</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="302" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[302]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字化け</anchor>のまま保存しなおしたファイル名と混在</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="341" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[341]</anchor-end> 
<cite xml:lang="en"><strong>[</strong>Feature Request<strong>]</strong>: Manually specify character encoding / codepage / mcp · Issue #248 · rikyoz/bit7z</cite>, <time>2025-12-30T10:08:52.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/rikyoz/bit7z/issues/248">https://github.com/rikyoz/bit7z/issues/248</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="350" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[350]</anchor-end> 
<time>2025-12-31T11:59:12.800Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.city.sagamihara.kanagawa.jp/dataset/eea0ce8c-2429-41f4-acdb-15ea13ac0353/resource/268a70c1-174b-4109-8658-0097184d7ee2/download/732832.zip">https://opendata.city.sagamihara.kanagawa.jp/dataset/eea0ce8c-2429-41f4-acdb-15ea13ac0353/resource/268a70c1-174b-4109-8658-0097184d7ee2/download/732832.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EUC-JP</anchor><ul><li><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;78</anchor-internal><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.ubuntulinux.jp/Develop/UnzipTestcase?action=AttachFile&amp;do=get&amp;target=unzip_EUC-JP_testfile.zip">https://wiki.ubuntulinux.jp/Develop/UnzipTestcase?action=AttachFile&amp;do=get&amp;target=unzip_EUC-JP_testfile.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP936</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> 
<cite xml:lang="en">北京市交通委员会</cite>, <time>2025-03-06T06:27:17.000Z</time>, <time>2025-05-23T11:18:33.842Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://jtw.beijing.gov.cn/xxgk/czxzj/202409/t20240903_3788312.html">https://jtw.beijing.gov.cn/xxgk/czxzj/202409/t20240903_3788312.html</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> 
<time>2025-05-23T11:18:29.000Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://jtw.beijing.gov.cn/xxgk/czxzj/202409/P020241212524044343049.zip">https://jtw.beijing.gov.cn/xxgk/czxzj/202409/P020241212524044343049.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="339" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[339]</anchor-end> 
<cite xml:lang="en">System.IO.Compression results in garbled Chinese directory names when extracting. · dotnet/runtime · Discussion #104280 · GitHub</cite>, <time>2025-12-30T10:03:22.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/dotnet/runtime/discussions/104280">https://github.com/dotnet/runtime/discussions/104280</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="340" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[340]</anchor-end> 
<time>2025-12-30T10:03:41.000Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/user-attachments/files/16069900/default.zip">https://github.com/user-attachments/files/16069900/default.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP949</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> 
<cite xml:lang="ko">학회/행사/기타 안내 상세보기(일상생활에서 개인정보 지키는 꿀팁!(개인정보 보호 주간 9.30.-10.4.)) | 국립국어원</cite>, <time>2025-05-23T11:20:55.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.korean.go.kr/front/board/boardStandardView.do;front=02D474CEED6BC6E2426609D7FD6CA64E?board_id=7&amp;b_seq=938&amp;mn_id=186">https://www.korean.go.kr/front/board/boardStandardView.do;front=02D474CEED6BC6E2426609D7FD6CA64E?board_id=7&amp;b_seq=938&amp;mn_id=186</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.korean.go.kr/common/download.do?file_path=event&amp;c_file_name=4bb0df72-593c-4cde-87ec-5c3e82b645f4.zip&amp;o_file_name=%EC%9D%BC%EC%83%81%EC%83%9D%ED%99%9C%EC%97%90%EC%84%9C%20%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EC%A7%80%ED%82%A4%EB%8A%94%20%EA%BF%80%ED%8C%81(%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EC%A3%BC%EA%B0%84%20%EC%B9%B4%EB%93%9C%20%EB%89%B4%EC%8A%A4).zip">https://www.korean.go.kr/common/download.do?file_path=event&amp;c_file_name=4bb0df72-593c-4cde-87ec-5c3e82b645f4.zip&amp;o_file_name=%EC%9D%BC%EC%83%81%EC%83%9D%ED%99%9C%EC%97%90%EC%84%9C%20%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EC%A7%80%ED%82%A4%EB%8A%94%20%EA%BF%80%ED%8C%81(%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EC%A3%BC%EA%B0%84%20%EC%B9%B4%EB%93%9C%20%EB%89%B4%EC%8A%A4).zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <code>Content-Type: application/zip;charset=utf-8</code></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> 
<cite xml:lang="ko">시정소식 &lt; 새소식 &lt; 용인소식 &lt; HOME : 용인시청 대표포털</cite>, <time>2025-05-23T11:37:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.yongin.go.kr/user/bbs/BD_selectBbs.do?q_bbsCode=1001&amp;q_bbscttSn=20240219075251883">https://www.yongin.go.kr/user/bbs/BD_selectBbs.do?q_bbsCode=1001&amp;q_bbscttSn=20240219075251883</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.yongin.go.kr/component/file/ND_fileDownload.do?q_fileSn=395735&amp;q_fileId=ac01f7a4-ddee-47dd-b505-b2e134c1f2ae">https://www.yongin.go.kr/component/file/ND_fileDownload.do?q_fileSn=395735&amp;q_fileId=ac01f7a4-ddee-47dd-b505-b2e134c1f2ae</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="259" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[259]</anchor-end> 
<cite xml:lang="en">unzip-mbcs/test/test_unzipmbcs.py at master · sanori/unzip-mbcs · GitHub</cite>, <time>2025-10-19T11:15:44.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/sanori/unzip-mbcs/blob/master/test/test_unzipmbcs.py">https://github.com/sanori/unzip-mbcs/blob/master/test/test_unzipmbcs.py</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="262" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[262]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EUC-KR</anchor> でない <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UHC</anchor></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP950</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> 
<time>2025-05-12T11:45:46.700Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.cns11643.gov.tw/opendata/MapingTables.zip">https://www.cns11643.gov.tw/opendata/MapingTables.zip</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</anchor-end> 
<cite xml:lang="zh-cn">政府物流服务署 - 政府物流服务署现有通用物品定期合约的招标文件</cite>, <time>2022-03-24T07:00:26.000Z</time>, <time>2025-05-24T06:52:44.853Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gld.gov.hk/zh-cn/our-services/one-stop/supplier-corner/tender-document/">https://www.gld.gov.hk/zh-cn/our-services/one-stop/supplier-corner/tender-document/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.gld.gov.hk/assets/gld/download-files/tender-document/A9900602021.zip">https://www.gld.gov.hk/assets/gld/download-files/tender-document/A9900602021.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="311" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[311]</anchor-end> 消滅確認 <time>2025-12-13T02:31:40.900Z</time></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="312" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[312]</anchor-end> 
<cite>Wayback Machine</cite>, <time>2025-12-13T02:31:25.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20250524064833/https://www.gld.gov.hk/assets/gld/download-files/tender-document/A9900602021.zip">https://web.archive.org/web/20250524064833/https://www.gld.gov.hk/assets/gld/download-files/tender-document/A9900602021.zip</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="136" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[136]</anchor-end> 
<cite>null</cite>, <time>2025-05-24T06:59:00.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://portal.dsedj.gov.mo/webdsejspace/addon/msglistdsejform/MsgListDsejForm_view_page.jsp?langsel=c">https://portal.dsedj.gov.mo/webdsejspace/addon/msglistdsejform/MsgListDsejForm_view_page.jsp?langsel=c</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="135" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[135]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://portal.dsedj.gov.mo/webdsejspace/addon/upload/Upload_viewfile_page.jsp?id=45777&amp;sid=&amp;">https://portal.dsedj.gov.mo/webdsejspace/addon/upload/Upload_viewfile_page.jsp?id=45777&amp;sid=&amp;</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="310" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[310]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Info-ZIP Unicode Path Extra Field</anchor> もあり。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="329" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[329]</anchor-end> <code>Content-Type: application/x-zip-compressed; charset=utf-8</code>,
<code>Content-Disposition: attachment; filename=&quot;DSEDJ-D81c_DOC.zip&quot;</code>
<time>2025-12-31T02:57:38.000Z</time></li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[152]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP1251</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="154" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[154]</anchor-end> 
<cite>#779207 - unzip fails to unpack filenames containing 'ä' 'ö' 'ü' -&gt; results in &quot;(invalid encoding)&quot; - Debian Bug report logs</cite>, <time>2025-05-25T01:59:29.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779207#51">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779207#51</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[153]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.debian.org/cgi-bin/bugreport.cgi?att=3;bug=779207;filename=%D0%94%D0%B8%D0%BA%D0%B8%D0%B9+%D0%BF%D0%BE%D0%BC%D0%B5%D1%89%D0%B8%D0%BA.htm.zip;msg=61">https://bugs.debian.org/cgi-bin/bugreport.cgi?att=3;bug=779207;filename=%D0%94%D0%B8%D0%BA%D0%B8%D0%B9+%D0%BF%D0%BE%D0%BC%D0%B5%D1%89%D0%B8%D0%BA.htm.zip;msg=61</anchor-external></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="335" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[335]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CP1252</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="336" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[336]</anchor-end> 
<cite xml:lang="en">zipfile: Corrupts filenames containing non-UTF8 characters · Issue #83042 · python/cpython</cite>, <time>2025-12-30T09:59:19.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/python/cpython/issues/83042">https://github.com/python/cpython/issues/83042</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="337" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[337]</anchor-end> 
<time>2025-12-30T09:59:43.00Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.python.org/file48724/t.zip">https://bugs.python.org/file48724/t.zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="338" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[338]</anchor-end> 
完全にテスト用のファイル名で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>は1バイトのみ。
投稿者が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-8859-1</anchor> であると説明しているが、
その説明がなければ決定不能。</li></ul></li></ul></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> (フラグなし)<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> 
<cite>Hướng dẫn thực hiện Chương trình giáo dục trung học năm học 2021-2022 - Mạng lưới giáo dục trực tuyến – goEdu</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mạng lưới giáo dục trực tuyến – goEdu</anchor>, <time>2025-05-23T13:29:40.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://go.vn/details/4859">https://go.vn/details/4859</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://res.ioe.vn/edu/EOlympic/DispatchDoc/original/2021/9/THCS.zip?_gl=1*eorw4l*_gcl_au*MTgzNzEzODc3Ni4xNzQ4MDA2NzA0">https://res.ioe.vn/edu/EOlympic/DispatchDoc/original/2021/9/THCS.zip?_gl=1*eorw4l*_gcl_au*MTgzNzEzODc3Ni4xNzQ4MDA2NzA0</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="129" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[129]</anchor-end> 
<cite xml:lang="en">المؤسسة العامة للري - الهوية واللوائح</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ThemeTags</anchor>, <time>2025-05-24T05:40:47.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.sio.gov.sa/About/Rules_Regulations/1">https://www.sio.gov.sa/About/Rules_Regulations/1</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.sio.gov.sa/assets/files/guide_files/Arabic.zip">https://www.sio.gov.sa/assets/files/guide_files/Arabic.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="300" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[300]</anchor-end> 
<cite xml:lang="en"><strong>[</strong>BUG<strong>]</strong>Garbled characters in Japanese environment · Issue #1444 · aonez/Keka</cite>, <time>2025-11-22T13:49:51.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/aonez/Keka/issues/1444">https://github.com/aonez/Keka/issues/1444</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="305" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[305]</anchor-end> 
<cite xml:lang="en">&quot;Could not load content&quot; error? · Issue #1 · ianharmon/mojibake-fixer</cite>, <time>2025-11-22T14:24:59.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ianharmon/mojibake-fixer/issues/1">https://github.com/ianharmon/mojibake-fixer/issues/1</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="306" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[306]</anchor-end> 元々<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>だった<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM437</anchor> と誤認して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> に変換したもの</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="333" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[333]</anchor-end> 
<cite xml:lang="en">ZipFile: Bugfix: Use unicode encoding to read the name string if UseUnicode is set by TalAloni · Pull Request #284 · icsharpcode/SharpZipLib · GitHub</cite>, <time>2025-12-30T09:55:31.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/icsharpcode/SharpZipLib/pull/284">https://github.com/icsharpcode/SharpZipLib/pull/284</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="334" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[334]</anchor-end> 
<time>2025-12-30T09:55:36.000Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/icsharpcode/SharpZipLib/files/2522058/UTF8_Filenames.zip">https://github.com/icsharpcode/SharpZipLib/files/2522058/UTF8_Filenames.zip</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="343" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[343]</anchor-end> 
<cite xml:lang="en">interpret filenames as UTF-8 even without general purpose bit 11 to workaround Mac bug · Issue #84 · thejoshwolfe/yauzl</cite>, <time>2025-12-30T10:13:36.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/thejoshwolfe/yauzl/issues/84">https://github.com/thejoshwolfe/yauzl/issues/84</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="342" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[342]</anchor-end> 
<time>2025-12-30T10:12:56.000Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/thejoshwolfe/yauzl/files/1973376/default.zip">https://github.com/thejoshwolfe/yauzl/files/1973376/default.zip</anchor-external></li></ul></li></ul></li></ul></refs></section><section><h1>文字表現の制約</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> 
同じ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> などでは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFC</anchor> 系の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>に近い状態が一般的で
(ただし必ずしも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>されるわけではない)、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFD</anchor> 系の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>が適用されている状態
(<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>HFS+のNFD</anchor> </sw-see>)
が標準的です。
これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>に限ったものではなく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の扱い全般に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の挙動の差異なのですが、
どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>を作成するかによって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の違いが
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>にそのまま持ち込まれることになります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="274" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[274]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の仕様としてはどうするのが良いとは特に決まっていません。
つまり、どの挙動が正しい、間違いといえるものではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="273" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[273]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>を扱う実装や解説などの中には、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> の挙動を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8-MAC</anchor> などと称するものがあります (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>に限らず、
この話題でしばしば使われる通称です)。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="275" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[275]</anchor-end> 
中には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> の挙動が不適切であるかのように扱うものもあります
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;140</anchor-internal></src> が、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> がおかしなことをしているわけではありません。
現実に不都合が生じるかもしれませんが、それは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac</anchor> が悪いのではなく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> の仕様に由来する不便です。</p></history><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="276" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[276]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>から取り出した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>をどのように決めるかは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>の制約を勘案しつつ決めなければなりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>の必須の制約を満たすことは不可避の条件となりますが、
必須条件でない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の慣習と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIPファイル</anchor>の格納値の折り合いをどうつけるかは、
設計方針の問題となります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="277" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[277]</anchor-end> 
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor> <var>C</var> を使えない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を保存するときは、
エラーにするか、
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>に置き換えるか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に尋ねるか、といった何らかの操作が必要になります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="278" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[278]</anchor-end> 
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor> <var>C</var> を保存できる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の慣習上 <var>C</var> は <var>D</var> と表現するのが適切な
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が新規で作成したとするなら <var>D</var> と表現される)
環境で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を保存するときは、
<var>C</var> のままにするか、
<var>D</var> に置き換えるか決めることになります。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="279" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[279]</anchor-end> 
<var>D</var> の方が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が扱いやすいかもしれませんが、
<var>C</var> のままにしておかなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互参照</anchor>が崩れるリスクがあります。</p></example><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[140]</anchor-end> <cite xml:lang="en">GitHub - tats-u/zifu: ZIPファイルのファイル名のエンコーディングをUTF-8に直すツール / Tool that fixes file names in ZIP archives (make them UTF-8)</cite>, <time>2025-05-24T13:54:26.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/tats-u/zifu">https://github.com/tats-u/zifu</anchor-external></li></ul></refs></section></section><section><h1>HFS</h1><section><h1>実装</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="264" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[264]</anchor-end> 
<cite xml:lang="en">Unable to open some CD-ROM disk images containing HFS partitions · Issue #15 · unsound/hfsexplorer</cite>, <time>2025-10-24T15:46:25.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/unsound/hfsexplorer/issues/15">https://github.com/unsound/hfsexplorer/issues/15</anchor-external></li></ul></section><section><h1>實例</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="280" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[280]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MacJapanese</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="281" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[281]</anchor-end> 
<cite xml:lang="en">CD-ROM MACLIFE 77 - KanjiTalk 7.5 (1995-01) : BNN (Bug News Network) : Free Download, Borrow, and Streaming : Internet Archive</cite>, <time>2025-10-24T15:47:40.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://archive.org/details/maclife-kanjitalk-75">https://archive.org/details/maclife-kanjitalk-75</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="282" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[282]</anchor-end> 
<cite xml:lang="en">INFO-MAC MAY 1993 (Japanese) : Pacific HiTech : Free Download, Borrow, and Streaming : Internet Archive</cite>, <time>2025-10-24T15:48:06.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://archive.org/details/info-mac-may-1993-japanese">https://archive.org/details/info-mac-may-1993-japanese</anchor-external></li></ul></li></ul></section></section></section><section><h1>メモ</h1></section></body></html>