AS400 IT備忘録

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

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

AS400いわゆるIBM system i では、シフト文字という意味不明な文字がある。

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

発生条件は、

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

になる。

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

当然のことながら、

「arigatou」は、8バイト

だ。

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

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

 

スポンサーリンク




スポンサーリンク




-AS400, IT備忘録
-, , , , ,

執筆者:


comment

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

関連記事

Laravel エラー集 未完成

POSTが失敗する The page has expired die to inactivity.Please refresh and try agein. というエラーメッセージでPOSTが失敗する …

Laravel SQLでWhereをIF文で追加したり外したりしたい

LaravelでSQL文を直で打ちたいときは、コントローラーの冒頭で

を宣言し、   こんな感じでSQL文を書く。 [cra …

Windows 右クリックからの送るに起動したいプログラムを登録する

やり方 ファイル名を指定して実行を開き(Winキー+R)、 shell:sendto と入力してエンターキーを押す。フォルダが開くのでその中にプログラムのショートカットを入れる。   使い道 …

【PHP】 WordPressで使ってる意味不明な

今実行しているコードのファイル名を取得

index.phpなら、c:\xampp\htdocs\index.phpとなる。 &nbsp …

WordPressのテーマ pacifyで検索窓が使えない

備忘録やTipsを作るのに、WordPressのテーマでpacifyが見やすいので使用してみた。 Tipsが1つ1つのカードの形で表示されるので見やすく気に入っているが、右上の検索がどうも動かない。 …