いつもお世話になっております。
データベース上に持っているコードの桁数を拡張する必要に迫られています。
本来であれば、データベースの桁数を増やして関連するプログラムを見直して、という流れになるのですが、
使用している画面や帳票の数が多く、レイアウトの調整が要るのですが、殆どは圧縮されたコードのままでも問題ないため、桁数を圧縮する何等かの方法はないかなと考え初めました。
数字だけであれば、10進→16進に変換すれば桁数が圧縮できる可能性があると思うのですが、英数が混じる、いわば36進に相当する文字をそれ以上に圧縮するなんてことは可能なのでしょうか?
No.5ベストアンサー
- 回答日時:
36 進数 11 桁のデータ量を、
x 進数 8 桁で表すなら
36^11 = x^8
x = 36^(11/8) = 138.01 ...
139 個以上の文字を表すためには、
ASCII 由来の図形文字である 21-FE の 94 個では足りないので、
別に 45 個が必要になります。
もし文字コードが Unicode ならば、
ラテン補助文字である U+00C0-00FF の範囲で探しましょう。
ただし U+00D7 の様な記号は除外すべきかも
もし文字コードが JIS X 0201 ならば
カナ文字である A1-DD の範囲で探しましょう。
ただし A7 の様な小書きは除外すべきかも
参考)
https://ja.wikipedia.org/wiki/Unicode%E4%B8%80%E …
https://ja.wikipedia.org/wiki/JIS_X_0201
余談ではありますが、
ご質問のような場合ですと、データベースに拡張分の項目を追加して、必要な場合だけ既存分と拡張分を結合したコード体系にすべきかと考えます。
No.3
- 回答日時:
rubyのカテゴリで質問されていますが、rubyでの実装を想定されているのでしょうか。
コメントありがとうございました。
すみません。間違えていました。プログラミング全般のつもりだったのですが、無意識のうちにカテゴリが違っていました。
実装したいのは、レガシー言語のRPGです。若い人は知らないと思います。
rubyでも難しければ、絶対に無理そうなことは判ってきました。
No.2
- 回答日時:
>英数が混じる、いわば36進に相当する文字をそれ以上に圧縮するなんてことは可能なのでしょうか?
ASCIIの0x20~0x7Fを使用した96進数という考え方がありますが、
0x20(空白)と0x7F(DEL)は、使用しないで、94進数なら印字可能文字で構成できます。
36進数の何文字を何文字に圧縮したいのでしょうか。
それによって94進数にして効果があるかどうかがきまります。
コメントありがとうございました。
変換サイトを見つけて入力してみました。
11桁を8桁に変換したいのですが、文字数が足りないような感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(データベース) 4進数風なバーコードは何ですか? 2 2022/11/28 23:33
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- 高校 高校化学、気体、温度の有効数字 3 2023/04/02 11:39
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excelの入力規則にいれる関数について 7 2022/12/22 10:19
- Java Java 南京錠 2 2023/02/04 11:46
- その他(コンピューター・テクノロジー) どうすればExpressZip圧縮ソフトで再びpdfを圧縮、閲覧できますか? 4 2022/06/11 14:47
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- C言語・C++・C# プログラムについて。 4 2023/07/19 13:43
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
8桁整数を限りなく短い文字列にしたい!!
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
std::stringからLPCWSTR型への変換
-
セル内の文字列が日本語か英語...
-
「彡」って文字はなんという文...
-
ExcelVBA実行後に時々落ちる
-
sedで日本語の置換方法について
-
画像データ(png)をcsvファイル...
-
VB.NET TextBoxへの入力をキャ...
-
Symfowareでのデータ型変換につ...
-
共有フォルダ名のパスの取得
-
VBでバイナリデータについて。
-
1をA、2をB・・・に変換したい
-
文字列を数字に変換する暗号化方式
-
友人とのラインで 「~MBと書く...
-
数値のパック10進数の変換に...
-
CString ←→ BSTRの変換について
-
FFT後の振幅値
-
PL/SQLでSJISの文字コードを取...
-
%fと%gについて
-
ExcelからVBAでWordを操作する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
「彡」って文字はなんという文...
-
セル内の文字列が日本語か英語...
-
std::stringからLPCWSTR型への変換
-
ExcelVBA実行後に時々落ちる
-
VS 2008(VB.NET)
-
Symfowareでのデータ型変換につ...
-
2バイト文字をJEFからSJISに変...
-
数字5桁文字コード?
-
sedで日本語の置換方法について
-
英数字を含む文字列(0-9,A-Z)...
-
COBOLによる全角・半角混...
-
画像データ(png)をcsvファイル...
-
CString ←→ BSTRの変換について
-
JIS → S-JIS コード変換するには
-
PL/SQLでSJISの文字コードを取...
-
数値のパック10進数の変換に...
-
ふりがなをアルファベット化す...
-
latin-1 (ISO-8859-1)への変換
-
byte配列の内容をstringにコピ...
おすすめ情報