利用ガイド
概観

インストール
nkf
NKFtool を使うシステムには、nkf コマンドがインストール済でなければなりません。 Unix 類似のオペレーティングシステム(OS)の多くでは、 OS付属のパッケージマネージメントシステムからインストールできます。
例えば、Ubuntu Linux では、apt-get コマンドを用います。
sudo apt-get install nkfMacOSX では、Homebrew を用います。
brew install nkfNKFtool
NKFtoolは、Julia 1.0 以上が必要です。
Julia のパッケージ・マネージメントシステムを用いて NKFtool をインストールするには、 ] を打鍵しパッケージマネージメントを起動してから、以下を実行します。
(v1.1) pkg> add NKFtool文字列のエンコードを変換する
nkf コマンドは、日本語テキストのエンコードを推定できます。
文字列 from のエンコードを推定するには nkf_guess(from::String) を使います。
julia> nkf_guess(raw"こんにちわ")
"UTF-8"
julia> nkf_convert( raw"こんにちわ", "-j") |> nkf_guess
"ISO-2022-JP"
julia> nkf_convert( raw"こんにちわ", "-e") |> nkf_guess
"EUC-JP"
julia> nkf_convert( raw"こんにちわ", "-s") |> nkf_guess
"Shift_JIS"文字列 from のエンコードを変換するには nkf_convert(from::String, options="-w -m0") を使います。
2つ目の引数 options は nkf コマンドに渡され、変換方法を指定します。
引数 options の既定値は -w -m0 (出力エンコード UTF-8, no MIME デコードなし) です。 これは、Julia の標準文字列のエンコード(UTF-8)を維持することを意味します。
julia> nkf_convert(raw"こんにちわ")
"こんにちわ"
julia> nkf_convert(raw"こんにちわ", "-w -m0")
"こんにちわ"エンコードを変換するには、出力エンコーディングのオプションを一つだけ指定します。 すなわち、-j (ISO-2022-JP), -s (Shift_JIS), -e (EUC-JP), または -w (UTF-8) のどれかです。
入力文字列のエンコードが分かっている場合には、 入力エンコーディングのオプションを一つだけ指定してもよいです。 すなわち、 -J, -S, -E, または -W のどれかです。
nkf_convert の戻り値は、テキストの出力文字列です。
Julia では、UTF-8 以外でエンコードされた文字列は印字可能ではありません。 これらを印字可能な文字列に変換するのが便利でしょう。 例えば、以下のように Base64.base64encode() を使います。
julia> using Base64
julia> nkf_convert( raw"こんにちわ", "-j") |> base64encode
"GyRCJDMkcyRLJEEkbxsoQg=="
julia> String(base64decode(ans)) |> nkf_convert
"こんにちわ"テキストストリームを変換する
nkf_guess は、第1引数としてテキストの入力ストリームも受け取ります。
nkf_convert も、第1引数としてテキストの入力ストリームを受け取ります。
例えば、テキストファイルのエンコードを推定するには、 以下のように、 nkf_guess(from::IO) を使います。
julia> open("hello_sjis.txt","w") do f
print(f, nkf_convert(raw"こんにちわ", "-s"))
end
#
encoding=open("hello_sjis.txt") do f
nkf_guess(f)
end
"Shift_JIS"Shift_JIS エンコーディングされたテキストファイルを UTF-8 に変換して、Julia の文字列として読み込むには、 以下のように、 nkf_convert(from::IO, options="-w -m0") を使います。
julia> hello_utf=open("hello_sjis.txt") do f
nkf_convert(f, "-w -m0")
end
"こんにちわ"