
No.2ベストアンサー
- 回答日時:
jisの1文字の1バイト目をj1、2バイト目をj2とします。
同じくsjisの方を、s1, s2 とします。
s1 = (j1-0x21)/2 + ((j1<=0x5e)?0x81:0xc1);
if (j1&1) s2 = j2 + ((j2<=0x5f)?0x1f:0x20); else s2 = j2 + 0x7e;
ですね。
この回答へのお礼
お礼日時:2001/05/12 16:16
回答ありがとうございます。求めていたのは正にこういうことでした。
動作を確認してから質問を締めさせていただきます。すみませんが先にしなければならないことがあるので、動作確認は月曜日になります。
No.3
- 回答日時:
あ、もしかして、1文字の変換だけではなくて、テキストとしての変換方法が
知りたいのでしょうか?そうだとすると、
'ESC'(0x1b) '$'(0x24) 'B'(0x42) または、'ESC'(0x1b) '$'(0x24) '@'(0x40)
(後者は古いコード)で漢字(日本語)に移りますので、
そこから2byteずつ sjis に変換していきます。で、
'ESC'(0x1b) '('(0x24) 'B'(0x42) または、'ESC'(0x1b) '('(0x24) 'J'(0x40)
で ASCII に移ります(正確には、前者が ASCII で、後者は JISX0201)。
本当は、もっと複雑なんですが(というか、JISコードというと、かなりあい
まいになってしまいます。例えば、漢字に移った後でも、半角のスペースや制
御文字は有効だとか、半角カナはどうするんだとか)、そんな複雑な JIS コー
ドを生成するプログラムはまずないので、大丈夫だと思います。
そういう可能性がある場合や、エラー処理をきちっとしたいという場合は、
ここには書ききれないので、ある程度勉強する必要があります。
ISO-2022-JP というのを見たことがあると思いますが、これは一般の JIS コー
ドからある程度例外的なことやあいまいさを排除しようとしたコード系です。
この回答へのお礼
お礼日時:2001/05/12 16:23
とりあえず下の回答で解決しそうです。この回答もとNo.4の回答とあわせて参考にさせていただきます。何度もありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
Symfowareでのデータ型変換につ...
-
COBOLによる全角・半角混...
-
sedで日本語の置換方法について
-
CSVをVB(input)で読み込んだ場...
-
std::stringからLPCWSTR型への変換
-
16進数で表示
-
dsPICを用いたPWM出力
-
COBOLのデータ型
-
2バイト文字をJEFからSJISに変...
-
数千の単語の並び替えについて。
-
文字コード(EUC->SJIS)につい...
-
文字の変換 (アルファベット)
-
byte配列の内容をstringにコピ...
-
C言語でUTF-8コードで読み込ん...
-
VS 2008(VB.NET)
-
Excelで入力禁止文字を設定したい
-
エクセルでアルファベットか数...
-
DOHCとOHC
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
std::stringからLPCWSTR型への変換
-
セル内の文字列が日本語か英語...
-
「彡」って文字はなんという文...
-
VS 2008(VB.NET)
-
COBOLによる全角・半角混...
-
ふりがなをアルファベット化す...
-
Symfowareでのデータ型変換につ...
-
RubyでUTF8のコード値を文字に...
-
フォームのコントロールのバッ...
-
%fと%gについて
-
ExcelVBA実行後に時々落ちる
-
JIS → S-JIS コード変換するには
-
英数字を含む文字列(0-9,A-Z)...
-
sedで日本語の置換方法について
-
byte配列の内容をstringにコピ...
-
数字5桁文字コード?
-
accessでJISコードを求める関数
-
コード変換について
-
「髙(はしごたか)」を文字コー...
おすすめ情報