• 締切済み

ASC関数

yottaの回答

  • yotta
  • ベストアンサー率32% (26/79)
回答No.3

前の方の回答と同じですが,もう少し詳しくすると ASC("a")=97 ・・ a は 10進数で 97 16進数で 61h です ASC("あ")=-32096 ・・ あ は 10進数で -32096(33440) 16進数で 82A0h(シフトJIS) です ASC("0207050545")=48 ・・ 先頭の 0 は 10進数で 48 16進数で 30h です ASC("2")=50 ・・ 2 は 10進数で 50 16進数で 32h です ASC("200207050545")=50 ・・ 先頭の 2 は 10進数で 50 16進数で 32h です ASC("20020705")=50 ・・ 先頭の 2 は 10進数で 50 16進数で 32h です ASC関数は先頭の1文字のみをJISコードに変換します また,全角文字はシフトJISコードに変換します

関連するQ&A

  • VBScript ASC関数:文字エンコード(Unicode→Shif

    VBScript ASC関数:文字エンコード(Unicode→Shift-JIS)多対一変換について 初めての質問です。 よろしくお願いいたします。 【質問】 VBScriptのASC関数で文字をShift-JISコード 表示した場合、多対一変換され、文字変換が起こります。 この多対一変換をしないように、もし対応する文字が無い場合は、 ?になるようにしたいと思いますが、良い方法は無いでしょうか? 【現象】 ラテン1補助のÀ文字(A`)の UnicodeとSift-JISコードのマップ対応が原因のようです。 具体的には、Àは、 Unicodeでは(A`)だが、Sift-JISコードでは(A) にマップされているのです。 IMEパッドの文字コードをみるとわかります。 以下のサイトを見ると、さらに詳しく載っています。 ▼参考サイト 第7回 Unicodeからの多対一の変換[前編] http://gihyo.jp/admin/serial/01/charcode/0007 そこで、APIのwidechartomultibyte関数の wc_no_best_fit_charsを設定したエンコード方式 を使用すれば解決するというところまでは、 わかってきたのですが、これをVBScriptのASC関数 と同じ動きをするように関連付けるか、別途プログラム を作る方法がわからず困っています。 わかる方いらしたら、ご教授下さい。 よろしくお願い致します。

  • ASC関数が上手く出来ない!

    こんにちは。 エクセル2000を利用しています。 A1のセルに KOREA と入っているとして、 これを KOREA と半角で表示させたい時に「ASC関数」を利用していたのですが、 新しいブックで同じことをしてみると 半角に表示が出来なくなってしまいました。 どうすれば上手く出来るのでしょうか。 教えてください。

  • エクセルのASC関数の字数制限について

    エクセルのASC関数の字数制限について 特定のセルの値をASC関数にて、半角に出来る文字を全部半角にしようとして、 =ASC(セル番号)としたところエラーが発生します。 対象セルの文字数は、全角で368字あります。 ASC関数は対象の字数制限があるのでしょうか。

  • VBA ASC関数で変換できない文字の説明

    Vista+Excel2003の環境です。 Vistaから追加された文字をチェックしたいので、目的の文字をVBAのASC関数を通すことで、アスキーコードの3F、「?」になることまでは調べられました。 例えば「品」の「口」の部分が漢字の「七」になる文字です。 そこで質問なのですが、ASC関数を通すとなぜ3Fになるのか理由が分からないので教えていただけないでしょうか? 自分なりに調べたものの理由が分からず参っています。 問題なく変換出来る文字との違いが説明していただけるとありがたいです。 ちなみにプログラムの目的はVista環境で作ったデータをXPでも使用するのですがその際化けてしまう文字をチェックする為です.

  • エクセルの関数ASCで、半角にならないもの。

    エクセルの関数ASCで、半角にならないものを教えてください。 例「ヴ(大文字)」→「ヴ(大文字)」変わらず また、小文字に変わっても見た目が変わり、読めない文字になるものはありませんか。 「~(大文字)」→「~(変な小文字)」 『お~いお茶』は読めない。 できましたら一覧になっているHPなどがあると助かります。 よろしくお願いいたします。

  • ASC2コードについて

    ASC2コードは通常のパソコンのどこに格納されているのでしょうか?(HDでしょうか?) また例えばこの格納庫の中の文字3(ASC2コードで言うところの0110011)、4(0110100)を取り出したいとしたとき、OSはどのような手順で処理を行うのでしょうか? 1文字づつ順番に2回処理をするのでしょうか?それとも同時に2文字分取り出すのでしょうか?

  • エクセル関数とVBA関数で意味が違うのは多いのか

    エクセル関数とVBA関数で意味が違うのは多いのでしょうか? セルA1に「A」と入れ、 B1に「=ASC(A1)」と入れると B1は「A」になります。(半角) VBE画面で Sub test() Debug.Print Asc("A") End Sub を実行すると、-32160 になります。 ヘルプより エクセルでは=全角 (2 バイト) の文字を半角 (1 バイト) の文字に変換します。 VBAでは=指定した文字列内にある先頭の文字の文字コードを返す変換関数です。 となっていますが 同じ関数でも全く意味違うのでびっくりしています。 こういうことは頻繁にあるのでしょうか? (VBAのASC関数のかわりのエクセル関数は、CODE関数でした。)

  • ASC関数について

    以下の構文で処理1はメッセージボックスにOKでますが 処理2は駄目です。 違いはBBの内容が"&H82A0"になっておりダブルコーテーション で文字として判断されているからだと思います。 変数を使用して判定する場合どのようにしたらよろしいのでしょうか。 アドバイスよろしくお願いいたします。 環境 VB6 Private Sub Form_Load() '処理1------------------- If Asc("あ") = &H82A0 Then MsgBox ("OK") End If '処理2------------------- Dim AA AA = "82A0" BB = "&H" & AA If Asc("あ") = BB Then MsgBox ("OK") End If End SuB

  • ascW関数の結果がおかしい

    こんにちは。以前こちらで以下の質問をさせてもらいました。 http://okwave.jp/qa2842004.html 同様の質問なのですが、msdnを見ると 「asc関数は-32768 ~ 32767の範囲の文字コードを表すInteger値を返し、AscW は、入力文字に対して Unicode コードポイントを返します。範囲は 0 ~ 65535です。」と書いてあります。 しかし私の環境でascW関数を実行すると、-32768 ~ 32767の範囲の値が返ってきてしまいます。 たとえば、"耀"の文字(32768番)を実行すると、 Dim a as Long a = ascW("耀") 結果は32768ではなく、-32768が返ってきてしまいますし、同様にascW("老")の結果は32769ではなくて、-32767です。 どなたか原因と解決方法をご教授願えませんでしょうか? 環境はWindowsXP(SP2)にExcel2002(SP3)、VB6.0です。 よろしくお願いします。

  • EXCSL ASC関数 数値のみ変換

    WindowsXP EXCEL2007を使っています 住所録の番地が全角・半角が混在しているので半角に統一するため ASC関数を使いました 当然英文字・カタカナも半角になってしまいます 数字だけを半角にすることはできないでしょうか