0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

z/OSからRHELへ送信されてきたテキストファイルの中身を確認する

Last updated at Posted at 2021-02-27

背景

HULFTを使用してIBMのメインフレームz/OSからRHELへデータ送受信をする際に、HULFTで文字コード変換はしないという要件だった。
z/OSとRHELでは文字コードが違う(z/OS: EBCDIC、RHEL: UTF-8)ため、普通にcatコマンドで中身を見ると文字化けしてしまう。
データが正常に受信できているかを確認するのに少し手間取ったため、対応内容のメモを残しておく。

対応内容

iconvコマンドで変換

最終的にたどり着いたのはiconvコマンドで変換するやり方だった。
こっちの方が簡単に中身を確認できる。
入力のオプション-fには EBCDIC-IT を指定し、出力のオプション-tには UTF-8 を指定する。

[root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA*
-rw-rw---- 1 root root 80 12月 10 13:33 /tmp/HULFT.TESTDATA
[root@hogehoge ~]# 
[root@hogehoge ~]# iconv -f EBCDIC-IT -t UTF-8 /tmp/HULFT.TESTDATA -o /tmp/HULFT.TESTDATA.txt
[root@hogehoge ~]# 
[root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA*
-rw-rw---- 1 root root 80 12月 10 13:33 /tmp/HULFT.TESTDATA
-rw-r--r-- 1 root root 80 12月 10 13:35 /tmp/HULFT.TESTDATA.txt
[root@hogehoge ~]# 
[root@hogehoge ~]# cat /tmp/HULFT.TESTDATA.txt
HAISIN TEST                                                                     [root@hogehoge ~]# 
[root@hogehoge ~]# 

odコマンドで変換

odコマンドで変換し、z/OS側で出してもらった文字コードと突き合わせ or EBCDIC文字コード表と突き合わせする方法で確認できる。
1バイト単位16進数らしいので、オプション-t x1を指定する。
確認は手間だけれど、文字コードの仕組みが見れて個人的にはちょっと楽しかった。

[root@hogehoge ~]# ls -l /tmp/HULFT.TESTDATA
合計 4
-rw-rw---- 1 root root 80 12月 10 13:33 HULFT.TESTDATA
[root@hogehoge ~]# 
[root@hogehoge ~]# od -t x1 /tmp/HULFT.TESTDATA
0000000 c8 c1 c9 e2 c9 d5 40 e3 c5 e2 e3 40 40 40 40 40
0000020 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
*
0000120
[root@hogehoge ~]# 
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?