タグ付けされた質問 「character-encoding」

ASCII、UTF-8、EBCDICなど、文字や文字セットのさまざまな表現を扱う質問。改行や改行文字で改行をエンコードするオペレーティングシステム間でファイルを移動するときによく発生します。

4
CRLF行ターミネータを使用して、エンコーディングを非ISO拡張ASCIIテキストからUTF-8に変更する方法は?
私はtxtファイルを持っています: $ file -i x.txt x.txt: text/plain; charset=unknown-8bit $ file x.txt x.txt: Non-ISO extended-ASCII text, with CRLF line terminators また、誤ってエンコードされた文字がいくつかあります。 trwa³y, sta³y, usuwaæ このファイルのエンコーディングをUTF-8に変更するにはどうすればよいですか?私はこれまでに次の方法を試しました: $ iconv -f ASCII -t UTF-8 x.txt puiconv: illegal input sequence at position 4 どういうわけかextended ASCII(high ASCII)を使用する必要がありますが、iconvのエンコードリストで見つけることができません。

4
特殊文字を含むファイルの一括名前変更(または正しく表示)
このファイルのように、特殊文字を含むファイルを含む多数のディレクトリとサブディレクトリがあります。 robbie@phil:~$ ls test�sktest.txt test?sktest.txt Findはエスケープシーケンスを明らかにします: robbie@phil:~$ find test�sktest.txt -ls 424512 4000 -rwxr--r-x 1 robbie robbie 4091743 Jan 26 00:34 test\323sktest.txt コンソールで名前を入力できる唯一の理由は、タブ補完のためです。これはまた、それらの名前を手動で変更できることを意味します(そして特殊文字を削除します)。 LC_ALLをUTF-8に設定しましたが、これは役に立たないようです(また、新しいシェルではありません): robbie@phil:~$ echo $LC_ALL en_US.UTF-8 Macのsshを使用してマシンに接続しています。Ubuntuのインストールです。 robbie@phil:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=7.10 DISTRIB_CODENAME=gutsy DISTRIB_DESCRIPTION="Ubuntu 7.10" シェルはBashで、TERMはxterm-colorに設定されています。 これらのファイルはかなり前から存在しており、Ubuntuのインストールを使用して作成されていません。そのため、システムエンコーディング設定が以前は何であったかはわかりません。 私は次のラインに沿って物事を試しました: find . -type f -ls | sed 's/[^a-zA-Z0-9]//g' しかし、私は私が望むすべてを行うソリューションを見つけることができません: 表示できない文字を含むすべてのファイルを識別します(上記はあまりにも多くの方法を無視します) ディレクトリツリー内のすべてのファイルに対して(再帰的に)、mv …

2
pandocで.docxを.pdfに変換する
メールで受信した.docxをpandocを使用して正しいPDFに変換しようとしています(GNU / Linuxを使用しています)。 文字エンコードに関するエラーがあります: $ pandoc file.docx -o file.pdf pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream 私はエンコーディングを特定しようとしました: $ file -i file .docx file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary charset=binary(私は期待していたcharset=iso8859-15)に少し驚いています。しかし、とにかく.docxをutf8に変換しようとしましたが、機能していません: $ iconv -t utf-8 file.docx P! $iconv: séquence d'échappement non permise à la position 16 pandocドキュメントのコマンドラインでも同じエラーが発生します。 iconv -t utf-8 file.docx | pandoc …

2
現在のロケールで特定の文字クラスの文字のリストを取得するコマンド
何が指定された文字クラス内のすべての文字(のようなのリスト取得するための方法かもしれないblank、alpha、digit現在のロケールでは...)。 例えば、 LC_ALL=en_GB.UTF-8 that-command blank 理想的には、私のDebianシステムでは、次のようなものが表示されます。 09 U+0009 HORIZONTAL TAB 20 U+0020 SPACE e1 9a 80 U+1680 OGHAM SPACE MARK e1 a0 8e U+180E MONGOLIAN VOWEL SEPARATOR e2 80 80 U+2000 EN QUAD e2 80 81 U+2001 EM QUAD e2 80 82 U+2002 EN SPACE e2 80 83 U+2003 EM …

3
more、cat、lessでサポートされる文字エンコード
私は次のようにエンコードされたテキストファイルを持っていますfile: ISO-8859テキスト、CRLF行終端記号付き このファイルには、アクセント付きのフランス語のテキストが含まれています。私のシェルはアクセントを表示できemacs、コンソールモードではこれらのアクセントを正しく表示できます。 私の問題はmore、catとlessツールがこのファイルを正しく表示しないことです。これは、これらのツールがこの文字エンコーディングセットをサポートしていないことを意味すると思います。これは本当ですか?これらのツールでサポートされている文字エンコーディングは何ですか?

6
ヘブライ語の名前を持つファイルのZIPアーカイブを正しく解凍するにはどうすればよいですか?
誰かがヘブライ語の名前のファイルを含むZIPファイルを私に送ってくれました(そしてWindowsで作成されましたが、どのツールで作成されたかはわかりません)。Debian StretchでLXDEを使用しています。Gnomeアーカイブマネージャーはファイルを解凍しますが、ヘブライ語の文字は文字化けします。私が考える 0x008E 0x0087 0x008E 0x0085:私は名前が4つの文字との.doc sufficを持つファイルを持っ例えばI、Unicode文字に拡張UTF-8オクテットを得ている、との文字があります。コマンドラインのunzipユーティリティを使用するとさらに悪化します。完全に解凍することを拒否し、「無効または不完全なマルチバイト文字またはワイド文字」について文句を言います。 だから、私の質問は: ファイルを正しい名前で解凍する別の解凍ユーティリティはありますか? ファイルの圧縮方法に何か問題がありますか、それともZIP実装の非互換性ですか?または、Linux ZIPユーティリティの機能/バグでさえありますか? 文字化けしたファイルを使用して解凍した後、正しいファイル名を取得するにはどうすればよいですか?

1
外国の文字はSSHで表示されません
sshリモートサーバー(管理者アクセス権がない)の使用に問題があります-具体的には、韓国語とキリル文字のテキストを含むフォルダーがいくつかあります。 親フォルダの内容をで表示するとls、文字は「?」としてエスケープされます。おそらく注目すべきは、韓国語の文字はそこにあるはずの文字の数よりもはるかに多くの? 私が使用している端末プログラムは文字を表示できることを知っていsftpます。問題は、私が試したすべての端末で発生します。 機械の概要 ローカルマシン: Linux 2.6.32-5-686、i686 Debian GNU / Linux 6.0.2(スクイーズ) 管理者アクセス権がある リモートサーバー: Linux 2.6.32-bpo.5-amd64、x86_64 Debian GNU / Linux 5.0.8(lenny) 管理者権限も物理的権限もありません 私はおそらく他の重要な統計情報や少しの情報を見逃しているでしょう。その場合は謝罪します。私はコンピューティングの非Windows側全体にかなり慣れていないので、ここで何をしているのかほとんどわかりません。

3
U + xxxxxコードで指定された絵文字をutf-8に変換する方法は?
絵文字はU + xxxxxの形式を使用して指定されているようです 。各xは16進数です。 たとえば、U + 1F615は「混乱した顔」の公式Unicodeコンソーシアムコードです😕 よく混乱するので、このシンボルには強い親和性があります。 U + 1F615 Iは、Unicode文字のための唯一のエンコーディングが可能と思ったので表現は私に混乱して5進数字は、5x4 = 20ビットを必要とするのに対し、8、16、24または32ビットを必要としました。 このシンボルは、bashのまったく異なる16進文字列で表されているように見えることがわかりました。 $echo -n 😕 | hexdump 0000000 f0 9f 98 95 0000004 $echo -e "\xf0\x9f\x98\x95" 😕 $PS1=$'\xf0\x9f\x98\x95 >' 😕 > U + 1F615が\ x00 \ x01 \ xF6 \ x15のようなものに変換することを期待していました。 これら2つのエンコーディングの関係が見当たらないのですか? 公式のUnicode Consortiumリストでシンボルを検索するとき、この退屈な方法で手動で変換することなく、そのコードを直接使用できるようにしたいと思います。すなわち いくつかのWebページでシンボルを見つける Webブラウザーのクリップボードにコピーする bashに貼り付けて16進ダンプをエコーし​​、REALコードを検出します。 …

2
sshと文字エンコード
いつssh私のVPSに、私がしているirssi画面で実行されています。誰かがユニコード文字(©や€など)を送信するirssiと、sshセッションの画面で使用するとガベージが表示されます。irssiローカルコンピューターで実行中のirssiからirssiのプロキシモジュールを使用して接続すると、正しく表示されます。 同様に、VPS(画面外)でghciを実行し、それらの文字の1つを入力すると、クラッシュします。 したがって、明らかに、sshまたはシステムセットアップのいずれかで、VPSへの接続に何らかの種類の文字エンコーディングの問題があります。 これの原因を見つけて解決するにはどうすればよいですか? 詳細: クライアントシステム Arch Linux x64 UTF-8エンコード VPSシステム Ubuntu Server 10.04 不明なエンコードが使用されました。これはどうやって見つけますか?(Archの/etc/rc.confを調べるだけです)

3
UTF-8で `cut -c`(` --characters`)を使用できませんか?
このコマンドにcutは、オプションの-cあるバイトではなく、文字を処理するオプションがあります-b。しかし、en_US.UTF-8ロケールでは機能しないようです: 2番目のバイトは、2番目のASCII文字(UTF-8とまったく同じようにエンコードされます)を提供します。 $ printf 'ABC' | cut -b 2 B ただし、UTF-8ロケールでは3つのギリシャ語の非ASCII文字のうち2番目の文字は表示されません。 $ printf 'αβγ' | cut -b 2 � 大丈夫-2番目のバイトです。 したがって、代わりに2番目の文字を見てみましょう。 $ printf 'αβγ' | cut -c 2 � それは壊れているように見えます。 いくつかの実験で、範囲3-4が2番目の文字を示していることがわかりました。 $ printf 'αβγ' | cut -c 3-4 β しかし、これはバイト3〜4と同じです。 $ printf 'αβγ' | cut -b 3-4 β したがって、これはUTF-8の-c場合を超えません-b。 ロケールのセットアップはUTF-8には適切ではないと思いますが、比較すると、wc期待どおりに機能します。 …

3
10進数をASCII文字に印刷すると、コマンドが意図したとおりに出力されません
次のコマンドですべてのASCII文字の文字列を出力したかった for i in `seq 32 127`; do printf "%c" $i; done 上記のコマンドの出力は次のとおりです。 33333334444444444555555555566666666667777777777.............. これは、各番号の最初の(左から)桁です。 このサイトを見ると、私の問題に対する答えが見つかりました。CLIですべての印刷可能なASCII文字を印刷するにはどうすればよいですか?ただし、元のスニペットが意図したとおりにASCII文字を出力しない理由はまだわかりません。

2
iconv不正な入力シーケンス-なぜですか?
テキストファイルをASCIIに変換しようとすると、エラーメッセージが表示されiconv: illegal input sequence at positionます。 私が使用するコマンドは iconv -f UTF-8 -t ascii//TRANSLIT file 問題の文字はæです。 テキストファイル自体はここにあります。 なぜ違法なシーケンスと言うのですか?入力文字は適切なUTF-8文字(U + 00E6)です。

2
vimはASCII文字のみを表示し、他のバイトをバイナリデータとして処理できますか?
私はすでに知っているvim -b、それは単一の文字として(UTF-8のような)マルチバイト文字を表示し、使用するロケールに応じて、しかし、。 vimASCIIの印刷可能文字のみを表示し、文字セットに関係なく残りをバイナリデータとして扱うようにするにはどうすればよいですか?

2
HTMLの代わりにバイナリを返すWget?
wgetを使用して静的なHTMLページをダウンロードしています。W3C Validatorは、ページがUTF-8でエンコードされていることを教えてくれます。それでも、ダウンロード後にファイルをcatすると、大量のバイナリナンセンスが得られます。私はUbuntuを使用していますが、デフォルトのエンコーディングはUTF-8だと思いましたか?それは私のロケールファイルが言っているようです。なぜこれが起こっているのですか、どうすれば修正できますか? また、のように見えますContent-Encoding: gzip。おそらくこれは差分になりますか? これは簡単なリクエストです: wget https://www.example.com/page.html 私もこれを試しました: wget https://www.example.com/page.html -q -O - | iconv -f utf-16 -t utf-8 > output.html 返されたもの: iconv: illegal input sequence at position 40 ファイルをcat'ingすると、次のようなバイナリが返されます。 l�?חu�`�q"�:)s��dġ__��~i��6n)T�$H�#���QJ 結果xxd output.html | head -20: 00000000: 1f8b 0800 0000 0000 0003 bd56 518f db44 ...........VQ..D 00000010: 107e a6bf 62d4 …

5
FirefoxでフォールバックエンコーディングをUTF-8に設定するにはどうすればよいですか?
私はノルウェーのマークダウン文書を書きました: $ file brukerveiledning.md brukerveiledning.md: UTF-8 Unicode text 次のmarkdownコマンドを使用して、HTMLに変換しました。 $ markdown > brukerveiledning.html < brukerveiledning.md $ file brukerveiledning.html brukerveiledning.html: UTF-8 Unicode text ただし、Firefoxは「windows-1252」エンコーディングの使用を主張し、非ASCII文字を破壊します。「現在のロケールのデフォルト」(ここでは英国ではISO-8859-1またはUTF-8である必要があります)から「中央ヨーロッパ、ISO」、「中央ヨーロッパ、マイクロソフト」にフォールバックテキストエンコーディングを変更しようとしました「」および「その他(西ヨーロッパを含む)」。これらのどれもæ、ø、åを表示できません。Unicodeオプションはありません。私はまた、変更しようとしたintl.fallbackCharsetList.ISO-8859-1程度では:のような様々な値に設定utf8、utf-8、iso-8859-1運とを、。 このmarkdownパッケージの使用: $ pacman --query --owns "$(which markdown)" /usr/bin/markdown is owned by markdown 1.0.1-6 そしてこのロケール: $ locale LANG=en_GB.utf8 LC_CTYPE="en_GB.utf8" LC_NUMERIC="en_GB.utf8" LC_TIME="en_GB.utf8" LC_COLLATE="en_GB.utf8" LC_MONETARY="en_GB.utf8" LC_MESSAGES="en_GB.utf8" LC_PAPER="en_GB.utf8" LC_NAME="en_GB.utf8" LC_ADDRESS="en_GB.utf8" LC_TELEPHONE="en_GB.utf8" …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.