測定装置から旧JISコードでデータが出力されていると思われますが、これをハイパーターミナルやTera Termで認識する方法を紹介してもらったんですが日本語を認識できません。Tera Termは旧JISデータ対応かと思われたんですが結果的にはハイパーターミナルと同じでした。シリアルポートからの旧JISを認識して、SJISで表示させるプログラムは無いでしょうか?探してみたんですが見つかりませんでした。前に無理じゃないかと助言を頂きましたが・・・。
それか旧JISコードをJISで受けて、JISで文字化けしたしたテキストファイルから逆に旧JISコードを認識させ改めてSJISに変換させることは可能でしょうか?ハイパーターミナル等で文字化けしたテキストを変換できないでしょうか?教え下さい。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
もう少しだけわかりやすいものも書きます。
・化けたまま受信してテキスト保存する。
・バイナリエディタで開く。
私はこれを使ってます→http://www.zob.ne.jp/~c.mos/soft/bz.html
仮にテキストが「ABC!c%]%s%W$NN.NL@_DjCM!dABC」だとします。両サイドのABCは半角でその中が化けたJISコードです。
・最初のABCのあとに<1B><24><42>を挿入する。<>内は16進データです
・最後のABCの前に<1B><28><42>を挿入する。
・保存して以下のページのソフトで変換します。(JIS→SJISコンバータ)
http://www.shiojiri.ne.jp/~mokichi/software.html
これで変換後のテキストは「ABC<ポンプの流量設定値>ABC」となります。
相変わらずスマートでなくてすみません。
No.1
- 回答日時:
まだ解決していなかったのですね。
まず、測定器の出力しているデータはプリンタ用のデータらしいのでプリンタ用のKIN/KOUTコードを出力していると思われます。残念ながらプリンター出力からテキストを抽出するソフトは見当たりませんでした。経験者であればBASIC等で作るのも難しくはないと思いますが・・・
泥臭い方法ですが、参考になればと思い、書いてみます。
・ターミナルのバイナリモードでデータを受信し、ファイル化する。
・バイナリエディタでファイルを開き、KIN/KOUTコードを置換する。
<>内は16進データです。
<1C><26>なら<1B><24><42>に置換(ESC/PのKIコード)
<1B><4B>なら<1B><24><42>に置換(PC-PRのKIコード)
<1C><2E>なら<1B><28><42>に置換(ESC/PのKOコード)
<1B><48>なら<1B><28><42>に置換(PC-PRのKOコード)
・データの最後にEOFコード<1A>を追加して保存する。
これでテキストエディタで見れる可能性がありますが、その他の制御コードの影響で一部が化けるかもしれません。また、プリンタが他の形式であればダメですが、多分この2種類(ESC/P系とPC-PR系)だと思います。
このデータを他に流用する場合SJIS形式で保存してください。別に開いたテキストエディタにコピー&ペーストすると自動的にSJISになると思います。
測定器ですので変な制御コードは混じっていないと思うのですが断言できません。
制御コードはたいてい<1B>か<1C>で始まる2~3バイトくらいがほとんどです。バイナリエディタでカットアンドトライするしかないと思います。
わからないことがあれば補足してください。
この回答への補足
なるほど。イメージはわかったような気がします。ただ、プログラミングのほうは全然素人です。バイナリエディタを使用して化けたファイルをみました。プリンタのコード表と照らしあわせてみて日本語は一致してますので日本語を認識する開始コードがわかるようにターミナルのバイナリモードで受信すればいいわけですね。
ちなみにお勧めのバイナリモードで受信するターミナルソフトありましたら教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
ACCESSユニオンクエリでORDER B...
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
Nullの使い方が不正です。
-
Exel VBA 別ブックから該当デ...
-
access2021 VBA メソッドまたは...
-
VBAでdo内にてWAITを使うとエラ...
-
PreviewKeyDownイベントが2回...
-
COBOLの文法
-
WSH動作しない!!(WScript.Sle...
-
SQL
-
◾️Excel VBA 統合について Cons...
-
変数名「cur」について
-
VBA 現在のセル番地を記憶、復...
-
VBA・VB6.0・VB.NETの文字列型
-
特定行の背景色を変えたいのですが
-
ブログ等で公開されているサン...
-
wechatアプリについての質問で...
-
VLookup関数を使ってラベルに表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
オートフィルタで抽出結果に 罫...
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
ACCESSユニオンクエリでORDER B...
-
Exel VBA 別ブックから該当デ...
-
UWSCでMOUSEORG関数が上手く処...
-
COBOLの文法
-
PreviewKeyDownイベントが2回...
-
1、Rstudioで回帰直線を求める...
-
VBAでファイルオープン後にコー...
-
【VB6】実行ファイルとした後、...
-
Nullの使い方が不正です。
-
特定行の背景色を変えたいのですが
-
◾️Excel VBA 統合について Cons...
-
アルファベットに付いて質問し...
-
Excel VBAでOpenTextのFieldInf...
おすすめ情報