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 *

関連記事

ExcelVBA ProgressBarを自作

これは自分の備忘録であり、私が思い出すための記事なのでご了承のほど。   5分くらい時間がかかるマクロがあり、固まっていないか心配になると上司から指摘があり、進捗バーを作ろうとする。 &nb …

AS400/IBMi サブファイルで入力後にカーソルを下に移動させる SFLCSRPRG

例えばサブファイルの入出力項目が5列あったとして、ユーザがタンタンとエンターキーでカーソルを飛ばして入力していくと、通常は次のカーソルは右に移動する。   これを下に移動させるには、DDSで …

MacBookPro FaceTime内臓カメラのフレームレートfpsは?

公式サイトには記載がありませんが20fpsだそうです。 これはアップルサポートに聞きました。   アップルの担当者はわざわざ動画編集アプリで動画を作って、そのフレームレートを調べてくれたそう …

AS400/IBMi DDSでファンクションキーに指定するCAとCFの違い

ハッキリとは解っていないけど、調べてみたので備忘録。   一般的に言われているのが、次のプログラムに値を渡すのがCFで、渡さないのCAらしい。 ちょっと何言ってるか解らない。   …

【WordPress】プラグインでディレクトリを作成できませんでしたと怒られる

ワードプレスをまっさらにして戻ってきたの投稿以来、ちょこちょこ投稿を重ねている。     そこで表でも作りたいなと思ったので、プラグインのTablePressでも入れようかと思った …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に