SJISからJISコードに変換、文字コード関係で遊ぶ

三流君(TOP) /ASPで遊ぶ /記事一覧

自作したSJIS--JIS変換ルーチンを呼んでます。
※詳細は、ソースと詳細解説のページを見てください。


調査したい文字列を入力してください。

↑いろいろと遊んでみてください↑


コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[7月の商品紹介] ← 基本?の当月を紹介
[9月の商品紹介] ← 少し先に発売の商品で予約を狙う
[4月の人気商品] ← 三ヶ月前に発売した人気の商品

ASPサンプルソース(プログラムのソースコード)

詳細解説は[http:/asp/backno/asp061.html]を見てください
下記、/cgi-bin/test/test061-1.aspのソース(中身)です

JIS を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはJIS です。 <%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>SJISからJISコードに変換、文字コード関係で遊ぶ</title> </head> <body> <h2>SJISからJISコードに変換、文字コード関係で遊ぶ</h2> <br> 自作したSJIS--JIS変換ルーチンを呼んでます。<br> ※詳細は、ソースと詳細解説のページを見てください。<br> <hr> <% CHK_DATA = Request.QueryString("DATA") 'パラメータの代入 '長さをチェックする If Len(CHK_DATA) <> 0 Then '文字が入っていたら Response.Write "受け取ったデータは[" Response.Write Server.HTMLEncode(CHK_DATA) & "]です<br>" '関数を呼んで、バイト数を表示する Response.Write "バイト数は、" & Byte_Count(CHK_DATA) & "Byteです<br>" '文字数分ループして、コードを表示 For n = 1 To Len(CHK_DATA) Response.Write n & "文字目は" strWORK = Mid(CHK_DATA, n, 1) 'n番目の文字を取り出す Response.Write "[" & Server.HTMLEncode(strWORK) & "] " Response.Write "をAscで変換すると" & Asc(strWORK) strCODE = Hex(Asc(strWORK)) If Len(strCODE) <= 2 Then '半角か? Response.Write " さらにHexで16進数にすると" & strCODE Else Response.Write " さらにHexで16進(SJIS)は" & strCODE Response.Write " JISコードは" & SJIStoJIS(strCODE) End If Response.Write "<BR>" & vbCRLF Next End If %> <HR> <FORM ACTION="test061-1.asp" METHOD="GET"> 調査したい文字列を入力してください。<br> <INPUT TYPE="text" SIZE="30" NAME="DATA" VALUE="<%=CHK_DATA%>"> <INPUT TYPE="submit" VALUE="コード調査開始"><br> ↑いろいろと遊んでみてください↑ </FORM> <br> </body> </html> <% 'SJISコードの文字列を受け取り、JISコードの文字列を返す Function SJIStoJIS(strSJISCODE) Dim hi Dim lo 'シフトJISコードの上位バイトを hi、下位バイトを lo とします。 hi = Clng("&h" & Mid(strSJISCODE, 1, 2)) lo = Clng("&h" & Mid(strSJISCODE, 3, 2)) If hi <= &H9F Then hi = hi - &H71 'hi が 0x9f 以下の場合、 hi から 0x71 減じます。 Else hi = hi - &HB1 'そうでない場合、 hi から 0xB1 減じます。 End If 'hi に 2 を乗じて、さらに 1 を加えます。 hi = hi * 2 + 1 'lo が 0x7F より大きい場合、 lo から 1 減じます。 If lo > &H7F Then lo = lo - 1 'lo が 0x9E 以上の場合、lo から 0x7D 減じて、hi に 1 加えます。 If lo >= &H9E Then lo = lo - &H7D hi = hi + 1 Else 'そうでない場合、 lo から 0x1F 減じます。 lo = lo - &H1F End If '結果を返します SJIStoJIS = Right("0" & Hex(hi), 2) & Right("0" & Hex(lo), 2) End Function '文字列を受け取り、バイト数を返す Function Byte_Count(strMOJI) bcnt = 0 '文字数分ループして、コードを表示 For n = 1 To Len(strMOJI) nCODE = Asc(Mid(strMOJI, n, 1)) 'n番目の文字コードを求める If (nCODE And &HFF00) = 0 Then 'コードは1バイトか? *asp055 bcnt = bcnt + 1 Else bcnt = bcnt + 2 End If Next 'リターン値をセットする Byte_Count = bcnt End Function %>

最近発売の雑誌を紹介する

スポーツ系の雑誌です。プログラマーさん運動不足になってませんか?
  1. JK Fan (ジェイケイ・ファン) 空手道マガジン 2008年 08月号
  2. ゴング格闘技 2008年 08月号
  3. 格闘技通信 2008年 08月号
  4. 月刊 フルコンタクト KARATE (カラテ) 2008年 08月号
  5. 報知高校野球 2008年 07月号
  6. Jリーグサッカーキング 2008年 08月号
  7. NHK 大相撲中継 2008年 07月号
  8. SLUGGER (スラッガー) 2008年 08月号
  9. 月刊 GIANTS (ジャイアンツ) 2008年 08月号

人気の書籍を紹介します

  1. [4396632649]- 梅一夜
  2. [4757305338]- 「突き抜ける!」時間思考術
  3. [4861821282]- タックスヘイブン―グローバル経済を動かす闇のシステム
  4. [4062136139]- マネーロンダリング
  5. [4492443452]- 秘密の国オフショア市場
  6. [476319819X]- 3000人のユダヤ人にYESと言わせた技術

評価や感想気軽に送っていただけると嬉しいです

HPを読んだ満足度(評価)は?
5満足(参考になった)
4まぁまぁ(一部参考になった)
3普通(どちらとも言えない)
2なんかなぁ(期待と違った)
1不満(読んで損した気分)
作者に感想・質問を送る(気軽に質問・感想書いてください)
あなたのお名前(ニックネーム) さん

作者からの返信は、 不用 E-mail で受信したい
*質問・感想はメルマガで紹介する場合があります
※Ken3への連絡先 → [メール@アドレス]です。気軽に問い合わせてください

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:JIS] Sub|Function プログラム|プログラミング
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[三流なプログラムコード]← 恥ずかしいのであまり載せてないけど・・・
[通販商品の足跡を紹介]←通販商品などを紹介してます



旅行ガイドブックを購入する

ハードなプロジェクトが完了したら、少しリフレッシュしてみては?
[旅行情報・ガイドブックを探す]
最近聞かなくなったけど、システムの打ち合わせを合宿でやる・・・とか
※実際は旅館で一杯、親睦会って感じだけど。
現在時刻は、2008/07/05 12:53:45です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]