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 *

関連記事

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

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

gitでプッシュしたのに効かない件

ブログなので皆さまのお役にたてば幸いですが、あくまで自分の忘備録なので、昔話も含めて書いております。ご了承ください。 環境は、 開発環境は自席PC(ローカル) Windows10PC XAMPP7.2 …

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

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

【ExcelVBA】シフト文字を含めてバイト数をカウントする

AS400にエクセルに入力したデータをアップロードする仕組みがあるのだが、もちろん10バイトしか入らないカラムだとすると、エクセル上も10バイトしか入れてはいけない。     しか …

Windows ファイルをゴミ箱に入れずに完全に消去する

やり方 ファイルを選択して、「Shiftキー」を押しながら「Deleteキー」を押す。これだけ。   使い道 システムエンジニアをやっているせいか、別の社員のパソコンにリモートで入って作業を …