UTF-8 から Shift_JIS への変換

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
dic
記事: 554
登録日時: 8年前
住所: 宮崎県

UTF-8 から Shift_JIS への変換

#1

投稿記事 by dic » 6ヶ月前

タイトルの通り UTF-8からShift_JISへの変換をしたのです。
いろいろ検索しましたが、

コード:

	system("     nkf.exe -s top2.txt > top2_nkf.txt");
	system("   nkf32.exe -s top2.txt > top2_nkf32.txt");
	system("  nkfwin.exe -s top2.txt > top2_nkfwin.txt");
	system("nkfwin32.exe -s top2.txt > top2_nkfwin32.txt");
のように、nkfに-sをつけて渡せばいいと書いてあるのですが、
top2.txtの中身の %E8 から始まるところだけが変換できません。

どうすれば、全部変換できるのでしょうか?

プロジェクト一式アップロードしておきます。
添付ファイル
変換.zip
(623.75 KiB) ダウンロード数: 9 回

結城紬
記事: 42
登録日時: 2年前

Re: UTF-8 から Shift_JIS への変換

#2

投稿記事 by 結城紬 » 6ヶ月前

dic さん、こんにちは。
%E8~の部分は、文字コードの問題ではなく、URLエンコードですので、文字コード変換しても変換できません。
ツールの名前までは知りませんが、多分「URLエンコード 変換」などで検索すれば出ませんか?

アバター
みけCAT
記事: 6150
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: UTF-8 から Shift_JIS への変換

#3

投稿記事 by みけCAT » 6ヶ月前

URLエンコードをデコードしたいということであれば、添付ファイルに入っていたnkf.exeの出力

コード:

YUKI.N>.\nkf.exe --help
Usage:  nkf -[flags] [--] [in file] .. [out file for -O flag]
 j/s/e/w  Specify output encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF options is -w[8[0],{16,32}[{B,L}[0]]]
 J/S/E/W  Specify input encoding ISO-2022-JP, Shift_JIS, EUC-JP
          UTF option is -W[8,[16,32][B,L]]
 m[BQSN0] MIME decode [B:base64,Q:quoted,S:strict,N:nonstrict,0:no decode]
 M[BQ]    MIME encode [B:base64 Q:quoted]
 f/F      Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl
 Z[0-4]   Default/0: Convert JISX0208 Alphabet to ASCII
          1: Kankaku to one space  2: to two spaces  3: HTML Entity
          4: JISX0208 Katakana to JISX0201 Katakana
 X,x      Convert Halfwidth Katakana to Fullwidth or preserve it
 O        Output to File (DEFAULT 'nkf.out')
 L[uwm]   Line mode u:LF w:CRLF m:CR (DEFAULT noconversion)
 --ic=<encoding>        Specify the input encoding
 --oc=<encoding>        Specify the output encoding
 --hiragana --katakana  Hiragana/Katakana Conversion
 --katakana-hiragana    Converts each other
 --{cap, url}-input     Convert hex after ':' or '%'
 --numchar-input        Convert Unicode Character Reference
 --fb-{skip, html, xml, perl, java, subchar}
                        Specify unassigned character's replacement
 --in-place[=SUF]       Overwrite original files
 --overwrite[=SUF]      Preserve timestamp of original files
 -g --guess             Guess the input code
 -v --version           Print the version
 --help/-V              Print this help / configuration
Network Kanji Filter Version 2.1.1 (2010-08-08)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2010, The nkf Project.

YUKI.N>
を参考にすると、--url-inputオプションを使うと良さそうです。

コード:

	system("     nkf.exe -s --url-input top2.txt > top2_nkf.txt");
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

dic
記事: 554
登録日時: 8年前
住所: 宮崎県

Re: UTF-8 から Shift_JIS への変換

#4

投稿記事 by dic » 6ヶ月前

>>結城紬 さん
URL変換ですか。
初めて聞きました。
%8Eがどうしても癖ものでした。

>>みけCAT さん
URLエンコードできました。
どこにそんなオプションが・・・
URL変換をしらなかったからあってもわからなかったけど。

解決しました。ありがとうございました。


オフトピック
YUKIってハルヒかな?
宇宙は広いよー

返信

“C言語何でも質問掲示板” へ戻る