• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日本語だけを抽出したい)

日本語の抽出方法は?

このQ&Aのポイント
  • 日本語だけを抽出する方法を教えてください。内部コードが不明な場合も考慮してください。
  • ひらがなやカタカナの抽出はできますが、漢字だけの場合には対応できません。
  • 内部コードがSJIS、EUC、UTF8のいずれかの場合にも対応した抽出方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • SexyAkeko
  • ベストアンサー率41% (26/63)
回答No.3

画像はヘッダーと呼ばれる部分に画像の種類が書かれていますが、文字はそうなっていません。 ですが、テキストエディタは、自動的に文字コードを判断しています。 文字数が少ないと間違いも多いですが。 仕組みは、コードの特徴で判断しているらしいのですが、詳しくは知りません。 なので、全体の言語の特徴で判断するのはどうですかね? 文中に複数の言語がある場合は、さらに難しいですが、ある程度は可能かと。 国が決まっているのなら、文章解析で、例外が少ない言語がその言語かと。 日本語解析なんかは、mecabなんかが有名です。 一番簡単なのが、ブラウザなら、送信情報に国の情報をいれるとか。

ymda
質問者

お礼

ありがとうございます。 確かに、テキストエディタって、普通に結構な率で それぞれのコードを識別してくれますが、やはり たまに化けてしまうことはありますね。 ですが、今回のは、他国語でなければ、最終変換先の コードは、どれかに決まりますし、他国語を無視して いいという条件もありますので、 (本当は、その他国語でも処理したいが、これは無視します) これに合致するといえば、ご提案頂いたmecabが一番良いようですね 一度、かなに変換して、かなに変換成功して、かつ、それが かなのコードの範囲であれば、日本語と判断できるのもありますので。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

まず考えてみてください. 「一」という文字が何語か, 判断できますか? 日本語に限定したとしても, SJIS/EUC/Unicode のどの文字コードであるかを正確に判定することは不可能です. で日本語以外にありえない SJIS を除くと, EUC では言語を区別することができません. 一方 Unicode では判別する方法がないでもないです... が, 普通言語タグなんて使ってくれないよね (そもそも規格ですら推奨していないはず).

ymda
質問者

お礼

ありがとうございます。 「一」ですと、漢字だけの日本語が存在する可能性がありますので、判別が難しいかもしれません。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

ないです。 仮に文字コードをUTF8に限定したとしても先にあげられている、ひらがなやカタカナのような言語固有の文字ならともかくCJK統合漢字などは別に国コードでもない限り区別しようがないです。

関連するQ&A