surro.csv およびUTF16~MS932.binにしたがって、utf16sjisコマンドは、UTF-16のファイルをシフトJISのテキストファイルに変換します。
UTF-16のサロゲートペアを廃止して、代替文字として、たとえば、下線を使用できます。
Windowsのコマンドプロンプトは、シフトJISが多用されます。MS932は、いわゆるシフトJISですが、規格外です。たとえば、丸付きの数字(①②③⑩⑳)、ローマ数字(ⅠⅡⅢⅣⅩ)、1バイトのカタカナは、EUC-JPで表現しにくい。一方、MS932は、名前の漢字が不十分であるため、名前に含まれた珍しい漢字を表現しにくい。
江戸幕府直轄の領地、すなわち天領として倉敷が栄えました。明治時代に、倉敷では、画家の児島虎次郎がエル・グレコ、モネらの芸術品を収集しました。倉敷川にかかる石橋として、今橋、中橋があります。大原美術館は、今橋のたもとにあります。令和元年12月21日、今橋に行って撮影しました。図66を参照してください。
この珍しい漢字、上位サロゲート、下位サロゲート、符号位置(コードポイント)は、以下の通りです。図67を参照してください。
文字 | 上位サロゲート | 下位サロゲート | 符号位置 |
---|---|---|---|
𫝆 | D86D | DF46 | 2B746 |
UTF-16のファイル、シフトJISのファイルがこの順に指定された場合、utf16sjisコマンドは、UTF-16のファイルを読み込んで、シフトJISのファイルを書き出します。
utf16sjis UTF-16.txt Shift_JIS.txt
上記のとおり、2個のファイルを指定した場合、2個目のファイルが新しいファイルになりますが、先に新しいファイルの名前を指定するには、utf16sjisコマンドのパラメータとして、-o text.tmpを付加してください。-oおよびtext.tmpの間に空白を挿入してください。text.tmpは、新しいファイルの名前です。
utf16sjis -o text.tmp Gon_UTF-16.txt
utf16sjisコマンドは、標準入力から読み込むことができません。標準出力にシフトJISのデータを書き出すには、utf16sjisコマンドのパラメータとして、--outを付加してください。--outは、-o- -zと同じ結果を生じます。27DA0の符号位置にある文字(サロゲートペア)をシフトJISにある文字で代替した例を図68に示します。シフトJISとしてE6CCが2回も出現しています。シフトJISのバイト列は、上位バイトが下位バイトより先に出現します。文意は、無意味になりましたが、この変換結果は、正しい。
パラメータ | 新しいファイル | 長さ | 説明 |
---|---|---|---|
-o text.tmp | text.tmp | 8 | 利用者は、自分で、新しいファイルをtext.tmpと命名した。 |
-o- | utf16sjis.txt | 13 | 利用者は、自分で新しいファイルを命名しない。 |
-o- -z | 空文字 | 0 | utf16sjisコマンドは、ファイルではなく標準出力に変換結果を書き出す。 |
まず新しいファイルとして一時ファイルを作成して、次に、一時ファイルを新しい名前に改名するには、utf16sjisコマンドのパラメータとして、-bを付加してください。
utf16sjisコマンドが自動的に一時ファイルを削除しないように命令するには、utf16sjisコマンドのパラメータとして、-b -yを付加してください。
元のファイルの名前で新しいファイルを命名するには、utf16sjisコマンドのパラメータとして、-b 元のファイル名 元のファイル名を付加してください。ただし、元のファイルは、上書きされます。バックアップを目的として、事前に適当なディレクトリに元のファイルのコピーを作成することを推奨します。
元のファイルが新しいファイルと同じ日時を有するように命令するには、utf16sjisコマンドのパラメータとして、-tを付加してください。図69を参照してください。
utf16sjisコマンドが自動的に一時ファイルを削除しないように命令するには、utf16sjisコマンドのパラメータとして、-t -yを付加してください。図69を参照してください。
utf16sjis -t -y Gon_UTF-16.txt Gon_Shift_JIS.txt
C:¥Utf16sjisにutf16sjis.exeおよびUTF16~MS932.binをインストールしました。通常は、utf16sjisコマンドをインストールしたディレクトリにあるUTF16~MS932.binにアクセスできます。どの変換表を使用するか表示するには、utf16sjisコマンドのパラメータとして、-wを付加してください。このデータは、data.txtに保存されています。図70を参照してください。
utf16sjisコマンドは、下記の順序で変換表を探索します。
インストールディレクトリ、カレントディレクトリ、Pathに記載の各ディレクトリに変換表があろうがなかろうが、設定ファイルの第1行からパス名を捕捉して、変換表を開くには、utf16sjisコマンドのパラメータとして、-aを付加してください。
UTF16~MS932.binと異なり、surro.csvは、utf16sjisコマンドによって探索されません。カレントディレクトリでsurro.csvが発見されない場合、utf16sjisコマンドは、自動的にsurro.csvを作成します。
UTF16~MS932.binが削除されるおそれがあるなど、バックアップを目的として、事前に適当なディレクトリにUTF16~MS932.binのコピーを作成することを推奨しますが、コマンドプロンプトに入力するとき、何もパラメータが付加されていないutf16sjisコマンドは、MS932~UTF16.binからUTF16~MS932.binを生成できます。カレントディクトリにMS932~UTF16.binを用意してください。図72を参照してください。
usortkコマンドは、UTF-16ファイルの行を昇順または降順に並べ替えます。新しいUTF-16ファイルを作成できます。
利用者は、欄を選択できます。usortkコマンドは、利用者選択の欄から要約を作成して、要約および詳細のブロックを作成して、要約を比較しながらブロックを並べ替えて、詳細のみ書き出します。
CSVの行を並べ替えるには、コマンドプロンプトにusortkコマンドのパラメータとして、-t,(マイナスティーコンマ)を付加してください。-tおよびコンマの間に空白を挿入しないでください。
usortkコマンドは、ファイル名に.csvが含まれている場合、区切り文字としてコンマを使用します。この場合、区切り文字が指定されたとみなします。
区切り文字が指定されていない場合、usortkコマンドは、区切り文字として空白を使用します。
新しいファイルの作成および命名を行うには、コマンドプロンプトにusortkコマンドのパラメータとして、-o text.tmpを付加してください。-oおよびtext.tmpの間に空白を挿入してください。text.tmpは、新しいファイルの名前です。 text.tmpは、UTF-16のファイルです。
文字化けが発生するおそれがある場合、パイプもリダイレクトも回避してください。コマンドプロンプトは、UTF-16ではなくMS932が多用されます。コマンドプロンプトがサポートしない文字がUTF-16のファイルに含まれているかもしれません。この場合、usortkコマンドの結果を標準出力に書き出さないで、-o text.tmpにより一時ファイルに保存してください。
第1欄から数えて5欄を選択するには、usortkコマンドのパラメータとして、-a5を付加してください。-a5は、-k1,5と同等な結果を生じます。
-a5が付加されていない場合、usortkコマンドは、-a255が付加されたとみなします。欄数の上限は、255欄です。
255から3071に欄数の上限を変更するには、usortkコマンドのパラメータとして、-Zを付加してください。
第2欄のみ選択するには、usortkコマンドのパラメータとして、-j2を付加してください。-j2は、-k2,2と同等な結果を生じます。
パラメータ | ほぼ同等な入力 | 説明 |
---|---|---|
-$ | どの行も同じ欄数を有しているか点検する。 | |
-a4 | -h1111000000 | 第1欄から第4欄まで選択する。 |
-k1,4 | ||
-h1011 | 第2欄を除外する。 | |
-j2 | -k2,2 | 第2欄のみ選択する。 |
-k2 | 第2欄から最終欄まで選択する。 | |
-k2,3 | -a3 -h011 | 第2欄から第3欄まで選択する。 |
-t, | .csvの拡張子 | 区切り文字としてコンマを使用する。 |
-T¥x2C | ||
-x- | .csvがファイル名に含まれるか点検しない。 | |
-Z | 255から3071に欄数の上限を変更する。 |
利用者は、多数の欄を選択できます。利用者選択の欄で要約を構成するとき、語句を連結する文字として、1Fhが使用されます。usortkコマンドの語句連結文字(1Fh)は、usortkの内部で要約に使用されますが、詳細として書き出されません。
二桁の十六進数で語句連結文字を設定できます。選択された語句をたとえば、改ページ(0Ch)で連結するには、usortkコマンドのパラメータとして、-V¥x0Cを付加してください。-V¥x0Cが付加されていない場合、usortkコマンドは、1Fhで連結します。
usortkコマンドは、一時ファイルとして、sutai.txtを作成します。sutai.txtは、UTF-16のファイルです。第1欄から数えて5欄を選択して、第2欄を除外するには、usortkコマンドのパラメータとして、-a5 -h10111を付加してください。サクラエディタでsutai.txtの要約部を表示した例を図75に示します。1Fhで連結されています。
コンマの十六進数は、2Chです。-t,ではなく-T¥x2Cが指定されても、usortkコマンドは、区切り文字としてコンマを使用します。-T¥x09ならタブを使用します。
-T¥tは、-T¥x09と同じ結果を生じます。小なり記号、大なり記号、縦線は、コマンドプロンプトに入力しにくい。Wikiの表として、パラメータの例を図76に示します。
語句ではなく浮動小数点数を比較して、ファイルの行を並べ替えるには、usortkコマンドのパラメータとして、-gを付加してください。
usortkコマンドは、浮動小数点数を読み込むことができますが、sutai.txtに固定小数点数を書き出します。利用者がCSVファイルに記入した浮動小数点数の小数第4位まで有効になります。
-gが付加されたusortkコマンドは、まず小数点を発見します。次に、先頭の数字を探索して、その位置を取得します。負号があれば、その位置を取得します。さらに、欄から浮動小数点数のみ抽出します。すなわち、欄の前半にある空白も文字も無視されます。
負の数をサポートするために、usortkコマンドは、利用者がCSVファイルに記入した値に562949953421312.0001を加算します。すなわち、usortkの内部で基準を変更します。図77に示したとおり、usortkの内部に格納された数値は、sutai.txtに書き出されます。
語句ではなく整数を比較して、ファイルの行を並べ替えるには、usortkコマンドのパラメータとして、-nを付加してください。
-nが付加されたusortkコマンドは、まず、欄から整数を抽出して、次に、整数に固定小数点数(562949953421312.0001)を加算します。すなわち、usortkの内部で基準を変更します。usortkの内部に格納された固定小数点数は、sutai.txtに書き出されます。
562949953421312.0001ではない固定小数点数を設定して基準を変更するには、usortkコマンドのパラメータとして、-R整数を付加してください。たとえば、-R9が付加された場合、usortkコマンドは、利用者がCSVファイルに記入した値に9.0001を加算します。-R0が付加された場合、usortkコマンドは、利用者がCSVファイルに記入した値に0.0001を加算します。
-iが付加されたusortkコマンドは、制御文字を削除しません。-iが付加されていない場合、09h, 0Ch, 1Bhなどの制御文字も数字と比較されますが、-iが付加された場合、制御文字が存在しないかのように数字どうしが比較されます。-iがusortkコマンドに付加されたかどうかで結果が異なることを図78に示します。
他の行と要約が合致した場合、行の登録を拒否するには、usortkコマンドのパラメータとして、-uを付加してください。ある要約に多数の行が対応するにもかかわらず、各要約に対応する1行のみ書き出します。
他の行と要約が合致した場合、usortkコマンドは、その行番号を記憶します。記憶した行番号を書き出すには、さらに-!を付加してください。コマンドプロンプトの画面に表示されます。図79を参照してください。
要約どうしが合致した場合も順序を確定するために、要約にIDを付与するには、usortkコマンドのパラメータとして、-#を付加してください。IDが要約に付与されても、usortkコマンドは、要約ではなく詳細を書き出します。
大文字と小文字を区別しないで語句を比較するには、usortkコマンドのパラメータとして、-fを付加してください。
usortkコマンドに、-f -uを付加した場合、顕著な効果が生じる例を図80に示します。
要約が合致した場合、第1欄に影響されないでIDを比較するには、usortkコマンドに、-#を付加してください。-#が付加されたかどうかで結果が異なる例を図81に示します。
sjisutf16コマンドは、MS932~UTF16.binにしたがって、シフトJISのテキストファイルをUTF-16のファイルに変換します。
まずsjisutf16コマンドでシフトJISのテキストファイルであるGongitsune.txtをBOM付きUTF-16ファイルに変換して、次にutf16sjisコマンドでUTF-16ファイルをシフトJISテキストファイルに変換しました。結果のファイルをGon_Shift_JIS.txtと命名しました。Gon_Shift_JIS.txtは、内容がGongitsune.txtに一致しました。サイズも同一でした。図83を参照してください。
unarfiコマンドは、UTF-16ファイルの多数の欄から細長いUTF-16ファイルを作成します。
利用者は、欄を選択できます。unarfiコマンドは、利用者選択の欄をある程度まで編集できます。たとえば、欄から浮動小数点数を抽出できます。欄から整数を抽出できます。欄から制御文字を削除できます。欄から濁点、半濁点を削除できます。欄の半角カタカナをASCII(アスキー[英字、数字、記号])に置換できます。
第3欄から第5欄までを選択するには、unarfiコマンドのパラメータとして、-i3-5を付加してください。
第1欄から数えて5欄を選択するのではなく、第5欄のみ選択するには、unarfiコマンドのパラメータとして、-j5を付加してください。-j5は、-i5-5と同じ結果を生じます。
パラメータ | ほぼ同等な入力 | 説明 |
---|---|---|
-i3-5 | -c5 -b00111 | 第3欄から第5欄まで選択した。 |
-c5 -B11000 | ||
-c5 | -i1-5 | 第1欄から第5欄まで選択した。 |
-j5 | -c5 -b00001 | 第5欄のみ選択した。 |
-c5 -B11110 | ||
-i5-5 |
利用者は、多数の欄を指定できますが、さらに、ある欄を指定できます。多数の欄のうち、ある欄から制御文字を削除できます。たとえば、第1欄から数えて2欄を選択して、2欄のうち第2欄から制御文字を削除するには、unarfiコマンドのパラメータとして、-c2 -o2を付加してください。
mini_UTF-16.txtの第2欄から09h, 0Ch, 1Bhを削除した例を図82に示します。
パラメータ | ほぼ同等な入力 | 説明 |
---|---|---|
-0 | 0Dhおよび0Ahで改行する。 | |
-d2 | 第2欄から濁点、半濁点を削除する。 | |
-e2 | 第2欄から浮動小数点数を抽出する。 | |
-f | どの行も同じ欄数を有しているか点検する。 | |
-F new | 新しいファイルの作成および命名を行う。 | |
-k2 -a_ | 第2欄で半角カタカナを下線に置換する。 | |
-LF | -0- -L | 0Ahのみで改行する。 |
-o2 | 第2欄から制御文字を削除する。 | |
-p | ASCIIのHおよびIを第2欄から削除する。 | |
-q | 引用符で囲まれているコンマを削除する。 | |
-r | 逆順に欄を並べ替える。 | |
-s, | .csvの拡張子 | 区切り文字としてコンマを使用する。 |
-S¥x2C | ||
-S¥l | -S¥x7C | 区切り文字として縦線を使用する。 |
-V | バージョン番号を表示する。 | |
-w~ | -W¥x7E | 引用符として~を使用する。 |
-x- | ファイル名に.csvが含まれているか点検しない。 | |
-z2 | 第5欄で、最長欄の行番号および長さを記録する。 | |
-Z | 255から3071に欄数の上限を変更する。 | |
-G | -VC | 用例および短い説明を表示する。 |
--help |
surroコマンドは、surro.csvを作成します。surro.csvは、BOM付きのUTF-16ファイルです。
utf16sjisコマンドは、surro.csvおよびUTF-16~MS932.binにしたがって、UTF-16のファイルをシフトJISのテキストファイルに変換します。下線( _ )は、シフトJISの2バイト文字に含まれています。テキストにサロゲートペアが出現した場合、utf16sjisコマンドは、サロゲートペアをたとえば下線に置換しますが、利用者は、シフトJISの2バイト文字から新しい代替文字を選択できます。
surro.txtは、シフトJISのテキストファイルです。
surro.csvは、上書きされます。バックアップを目的として、事前に適当なディレクトリにsurro.csv のコピーを作成することを推奨します。利用者が独自にsurro.csvを編集したにもかかわらず、誤操作でsurroコマンドを実行したため、surro.csvが初期化された例を図73に示します。
まずsurro.txtの各行に1個の十六進数を記入してください。surro.txtは、シフトJISのテキストファイルです。次にsurroコマンドで、surro.csvを作成してください。一般論として、ウェブブラウザでUTF-16のファイルを閲覧できます。surroコマンドは、カレントディレクトリでcut_here.htmlを開くことができた場合、surro.csv だけではなくsurro.htmlも作成します。
カレントディレクトリでcut_here.htmlを開くことができない場合、surroコマンドは、surro.csvのみ作成して、正常に終了します。
ウェブブラウザでHTMLを閲覧することで、表の作成および確認が可能です。同一のディレクトリにCut_here_style_UTF-16.cssおよびsurro.htmlの両方が必要です。surro.htmlを閲覧するには、たとえば、エクスプローラでsurro.htmlを選択して、ダブルクリックしてください。Windows 10のパソコンで、Firefoxでsurro.htmlを開いて、サロゲートペアの長大な表を確認した例を図74に示します。