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 *

関連記事

AS400 シンクライアントを132画面対応にする設定

シンクライアントとは必要最低限の機能しかもたず、処理はすべてサーバ側でまかなうようにする端末のこと。 PCのクライアントアクセスとは使い勝手が少々異なるので設定に困った。 エミュレーションタイプの画面 …

AS400を 無料でWeb化 GUI化 オープン化 Linuxサーバ構築編 2/3

1/3でグダグダと説明してまいりましたが、構築作業の事前準備として2/3を設けました。   さっそく初めて行きます。   準備するもの Linux用Access_Client_So …

Laravel DBクラスとクエリビルダとEloquentをそれぞれprint_rしてみた

青本で学習しながら、開発しながらを繰り返してなんとかやっている。   私の場合はAS400(DB2)の開発にLaravelを使っているので、データベースに関しては神経を使っている。 &nbs …

AS400を 無料で Web化 GUI化 オープン化 PHP/Laravel設定編 1/2

注意 これは私の環境下における私の備忘録です。お使いの環境によっては内容が異なる場合があります。私は何も責任を負いませんのでご了承のうえご覧ください。   内容 Laravel設定編1/2と …

XAMPP Windows 複数のPHPバージョンを切り替える 共存

なんちゃってWebプログラマーの俺が、会社でなんちゃってプログラムを作っている話なので、話半分に聞いてほしい。というか、自分の備忘録です。   会社の基幹サーバに対してWebで照会するプログ …