IT関連

AS400/IBMi シフト文字を含めてバイト数を計算する

投稿日:2017年11月14日 更新日:

AS400いわゆるIBMiには、シフト文字という意味不明な文字がある。

普通「アイウエオ」なら10バイトのはずだが、AS400では、12バイトになる。これは先頭と最後が2バイト文字の場合は、前後にそれぞれ1バイトづつ足されるからだ。他にも発生条件があるのでまとめると、

発生条件は、

・先頭で2バイト文字の場合は+1バイト
・最後で2バイト文字の場合は+1バイト
・文字列で1バイト文字と2バイト文字が隣になれば+1バイト

になる。

「aありがとう」は、13バイト
「あaりがとう」は、15バイト
になる。

当然のことながら、

「arigatou」は、8バイト

だ。

それゆえ、こんなロジックを考えてみた。文字列を1つづつ見て、バイト数を計算するのだ。これしか考えられないのでこうしている。

いいやり方があったら教えてほしい。

 

スポンサーリンク




スポンサーリンク




-IT関連
-, ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Apacheのバーチャルホストの設定 XAMPPやLAMP

備忘録なので内容は適当です。 バーチャルホストとは、1台のマシン、1つのApacheというウェブサーバで、複数のアプリやHPを立ち上げようというもの。 特にXAMPPでテスト環境を作るとき、ホームペー …

AS400/IBMi ACS導入とわかったこと

2019年4月現在ACSは導入していないし、導入する予定もないけど、解ったことを備忘録として残しておきます。   ACSとは IBMiのパーソナルコミュニケーションズ(Pcomm)やクライア …

PHP 自分の備忘録

知識 文字コード PHPはUTF-8N(ボムなし)で保存する。BOMはByte Order Markの略称。 改行コードはLinuxに入れる場合はLFで。 LF(UNIX.Linux.MacOS) L …

複合機 キャノン えらんでマイプリントが出ない

昨日設定していてハマったのだが、キャノンの複合機でえらんでマイプリントを設定していて、いくらPCで印刷をかけてもうんともすんとも言わないといった話。 複合機の機種は忌まわしきC5250Fという名前。 …

AS400/IBMi キーボード 半角・(なかてん)の出し方

いままで知らなかった。   全角モードでキーボードの右下の「?」キーを押すと「・」が出る。 その変換できる状態でファンクションキーの「F8」を押せばよい。

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に