探検


初心者の質問相談にやさしく答えるスレ Part8 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/11(火) 20:19:56.18ID:X6kSRjRq
聞き方が悪いから教えない、
とか、「俺は教育的目的から、わざと全部は教えないことにしている」
などという、下記スレに巣食っているロートルはお断り。

初心者に優しく応えようとする気のある人が、
今となってはバカバカしく思えるような質問相談にも優しく答えるスレです。

オススメLinuxディストリビューションは? Part67
http://hayabusa6.2ch.net/test/read.cgi/linux/1485076925/

【初心者】Ubuntu Linux 111【本スレ】
http://hayabusa6.2ch.net/test/read.cgi/linux/1491182246/

前スレ
初心者の質問相談にやさしく答えるスレ Part7
http://hayabusa6.2ch.net/test/read.cgi/linux/1481502509/

 禁止事項
・トリを使おうとしている質問者に対して、そんなトリはやめろとかという、斜め上からのアドバイス
・質問者そっちのけでの昔語り(昔はもっと苦労したもんだ、今の若い者は…)
・知らないのに、使ったことないのに、知ったかぶりでの書き込み
・ググれという誰でも言えそうな忠告
・俺は知ってるけど言わない等といった、実社会での扱われ方からの僻みから来る
・意地悪な言辞
2017/06/08(木) 00:11:50.89ID:RO3Kvvij
文字コード変換について教えてください

「ソード」という文字列が3行含まれているファイルがあります。
Unicode接頭辞「\u」のためUTF-16DEと思われます。
nkfを使用してCP932に変換したいのですがうまく行きません。
Shift_JISなどを指定しても同様です。
何が問題なのでしょうか?

user@pc /tmp $ cat test.txt
\u30bd\u30fc\u30c9
\u30bd\u30fc\u30c9
\u30bd\u30fc\u30c9
user@pc /tmp $ nkf --guess test.txt
ASCII (LF)
user@pc /tmp $ nkf --ic=UTF-16BE --oc=CP932 test.txt > out.txt
user@pc /tmp $ nkf --guess out.txt
Shift_JIS
user@pc /tmp $

なお該当のサーバにはSJISのロケールがないため
Windowsでファイルの中身を確認していますが
「申ぢ申て捜申っ」となります。
2017/06/08(木) 00:14:23.98ID:5acbJAFe
344ですがUnicode接頭辞云々は誤りで
ネット上でエンコードでコードできるサイトで文字列を変換したところ
想定していた文字列がUTF-16DEで表示できたためUTF-16DEと判断しました。
2017/06/08(木) 00:16:17.99ID:3jkSrS4g
お恥ずかしい再訂正・・・

UTF-16DE→UTF-16BE
2017/06/08(木) 00:51:06.09ID:GO9yfEIM
ファイルにそのまま\uから始まるUnicodeコードポイントが書いてあるの? それはUTFとは呼ばないし、別物。
bashなら、
while read -r line; do echo -e "$line"; done < test.txt | iconv -t cp932 > out.txt
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況