こんにちは、初めて質問します。
私は現在BASE64(VB)を制作中の者です。半角英数のエンコード・デコードのコーディングは完成したのですが、全角文字となると手も足も出ない状態です。
そこで、これのついて御存知の方、全角文字のエンコード・デコードのコーディング方法を教えて下さい。
サンプルコードも見せていただければ幸いです。
宜しくお願いします。

このQ&Aに関連する最新のQ&A

BASE64 とは」に関するQ&A: base64->rarとは?

A 回答 (2件)

書き方はいろいろあると思いますが、参考までにデコードの例・・・。


※ソースをそのまま貼り付けたら、かなりみづらくなってしまいました。

Sub Main()
Dim pos As Long
Dim Out1 As Long
Dim Out2 As Long
Dim prst As Long
Dim rText As String

rText = "%82%B1%82%EA%82%C5%82%C5%82%AB%82%E9%82%CD%82%B8%82%C5%82%B7%81B"

pos = 1
Do
prst = InStr(pos, rText, "%")
If prst = 0 Then Exit Do
Out1 = Int("&H" & Mid$(rText, prst + 1, 2))
If ((&H81 <= Out1 And Out1 <= &H9F) Or _
(&HE0 <= Out1 And Out1 <= &HEF)) Then
If Mid$(rText, prst + 3, 1) = "%" Then
Out2 = Int("&H" & Mid$(rText, prst + 4, 2))
If &H40 <= Out2 And Out2 <= &HFC Then
rText = Left$(rText, prst - 1) & Chr(Val("&H" & Mid$(rText, prst + 1, 2) & Mid$(rText, prst + 4, 2))) & Right$(rText, Len(rText) - prst - 5)
Else
rText = Left$(rText, prst - 1) & Chr(Val("&H" + (Mid$(rText, prst + 1, 2)))) & Right$(rText, Len(rText) - prst - 2)
End If
pos = prst + 1
Else
Out2 = Asc(Mid$(rText, prst + 3, 1))
If &H40 <= Out2 And Out2 <= &HEF Then
rText = Left$(rText, prst - 1) & Chr(Val("&H" & Mid$(rText, prst + 1, 2) & Hex(Asc(Mid$(rText, prst + 3, 1))))) & Right$(rText, Len(rText) - prst - 3)
Else
rText = Left$(rText, prst - 1) & Chr(Val("&H" + (Mid$(rText, prst + 1, 2)))) & Right$(rText, Len(rText) - prst - 2)
End If
pos = prst + 1
End If
Else
rText = Left$(rText, prst - 1) & Chr(Val("&H" + (Mid$(rText, prst + 1, 2)))) & Right$(rText, Len(rText) - prst - 2)
pos = prst + 1
End If
Loop

Debug.Print rText

End Sub
    • good
    • 0

単に、1byteづつ変換すればいいだけだと思いますが。



BASE64は、単に1byteのバイナリ(0~255)を文字に置き換えているだけですから、半角も全角も関係無いはずです。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCEL VBA ワークシートのコピーについて

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピー先BOOKに

         ワークシート名
ワークシート1 処理1ワークシート 
ワークシート2 処理2ワークシート
ワークシート3 処理3コピー元ワークシート3

という具合にワークシートを複数コピーしたいのですが

処理ごとにデータを代入し、コピー処理はできるのですが。

コピー先BOOK

ワークシート3 処理3ワークシート

だけしかコピーされてないBOOKが作成されます。
上書きされているのだと思われます。

対処法が調べましたが見つけられていません。

すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピ...続きを読む

Aベストアンサー

今どういうコードを書いているのか不明なので、とりあえず
「1つのシートを別のブックに複数回コピーする」ための参考ソースを書きます。
コピー元のブックに下記ソースを貼り付けて実行してもらえば
新規ブックにコピー元のシートが3枚コピーされると思います。
(新規ブックを追加しているのでシート数は3枚より多くなります)

Sub copySheet()
Dim masterWb As Workbook
Dim masterSh As Worksheet
Dim copyWb As Workbook

Set masterWb = ThisWorkbook
Set masterSh = masterWb.Sheets(1)
Set copyWb = Workbooks.Add

'ここからが実際のコピー処理です。
'単純に3回コピーメソッドを呼び出して3回コピーしています。
masterSh.Copy before:=copyWb.Sheets(1)
masterSh.Copy before:=copyWb.Sheets(1)
masterSh.Copy before:=copyWb.Sheets(1)

End Sub

今どういうコードを書いているのか不明なので、とりあえず
「1つのシートを別のブックに複数回コピーする」ための参考ソースを書きます。
コピー元のブックに下記ソースを貼り付けて実行してもらえば
新規ブックにコピー元のシートが3枚コピーされると思います。
(新規ブックを追加しているのでシート数は3枚より多くなります)

Sub copySheet()
Dim masterWb As Workbook
Dim masterSh As Worksheet
Dim copyWb As Workbook

Set masterWb = ThisWorkbook
Set masterSh = masterWb.Sheets(1)
Set copyWb = W...続きを読む

QVB6.0 Base64のデコード方法を教えてください

VB6.0 でメールソフトを作っているのですが、受信したメールのヘッダで Subject 部分を見ると、

Subject: =?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?=

と訳の分からないアルファベットになってしまっています。
この Subject を日本語にする方法を教えてください。

一応、Base64のデコードという方法を知りましたが、この処理をVBで実行する場合のコードが分かりません。
工程的には下記の通りかと…

サブジェクトの文字列から「?ISO-2022-JP?B?」の文字列の次のから「?=」までの間の文字列を抽出し、

GyRCJCIkJCQmJCgkKhsoQg== をネタに下記の処理。

1.各文字を2進数表記(6ビット単位)に変換(RFC 2045の Table 1 を使う)。
2.2進文字列(6ビット単位)を8ビット単位でまとめる。
3.8ビット単位の2進数をASCIIコードに変換。
4.シフトJISに変換。

ちなみに、この Subject の答えは あいうえお です。

分かる方、VBコードを教えてください。

VB6.0 でメールソフトを作っているのですが、受信したメールのヘッダで Subject 部分を見ると、

Subject: =?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?=

と訳の分からないアルファベットになってしまっています。
この Subject を日本語にする方法を教えてください。

一応、Base64のデコードという方法を知りましたが、この処理をVBで実行する場合のコードが分かりません。
工程的には下記の通りかと…

サブジェクトの文字列から「?ISO-2022-JP?B?」の文字列の次のから「?=」までの間の文字列を抽出し...続きを読む

Aベストアンサー

こんばんは。

最近の同じような質問が出ていましたが、もしも、単独で変換エンジンを作るとなると意味が違うかもしれませんね。一応、以下のBasp21 の オブジェクトからBase64 デコードは出来ますが、確か、個別のDLLがあったと思いますから、それが使えれば、それに越したことはありませんね。

例:
Dim myString As String
myString = "Subject: =?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?="

Dim bobj As Basp21
Dim buf As String
Set bobj = New Basp21

buf = bobj.Base64(myString, 3)

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html#0039

QEXCEL VBA ワークシートのコピーについて

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピー先BOOKに

         ワークシート名
ワークシート1 処理1ワークシート 
ワークシート2 処理2ワークシート
ワークシート3 処理3ワークシート

という具合にワークシートを複数コピーしたいのですが

処理ごとにデータを代入し、コピー処理はできるのですが。

コピー先BOOK

ワークシート3 処理3ワークシート

だけしかコピーされてないBOOKが作成されます。
上書きされているのだと思われます。

対処法が調べましたが見つけられていません。

すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

seaclearsky8です。

一つのブックに何枚ものワークシートを追加して保存するVBAについて
ご教授、よろしくお願いします。

コピー元 

MASTER Book MASTER Workseets

コピー先

Copy Book copy Worksheets


コピー元にはワークシートがMASTERワークシートの一枚しかありません。

その一枚のワークシートに値をVBAで入れていき処理し

コピー先のコピーBOOKにワークシートをコピーしていきたいです。

しかし、MASTERBOOKの処理が何通りかあり、

コピー元の一枚のワークシートに
処理別にデータを写し

コピ...続きを読む

Aベストアンサー

> 配列にワークシートのオブジェクトを入れることとか可能なのでしょうか?

それは多分できないと思います。


> 複数のセル・シートを何回もコピーする場合にでるらしいです。

多分、メモリをたくさん使っちゃってるせいでしょうね。
まず、メモリ使用を減らすようにしましょうか。

・testwriteの最後にオブジェクト変数のメモリ解放を行う。
 具体的には以下のように書く。もうやってたらすみません。
Set cbook = Nothing
Set mastersheet = Nothing
・testwriteの中でのブックオープンおよび保存をやめる。
 新規ブックのオープンをtestwriteを呼ぶ前に1度だけ行い、
 testwriteの中ではその新規ブックに対してシートを追加していく。
 そしてtestwriteの処理が全部終わったら、
 新規ブックの全シートを1度に「記録シートYYYY/MM/DD.xls」にコピーする。

それでも駄目でしたら、以下の回答No.1を試してみてください。
http://oshiete.goo.ne.jp/qa/1822561.html

> 配列にワークシートのオブジェクトを入れることとか可能なのでしょうか?

それは多分できないと思います。


> 複数のセル・シートを何回もコピーする場合にでるらしいです。

多分、メモリをたくさん使っちゃってるせいでしょうね。
まず、メモリ使用を減らすようにしましょうか。

・testwriteの最後にオブジェクト変数のメモリ解放を行う。
 具体的には以下のように書く。もうやってたらすみません。
Set cbook = Nothing
Set mastersheet = Nothing
・testwriteの中でのブックオープンおよび保存をやめ...続きを読む

Qエンコード・デコードの仕方

インターネットのアドレス欄に良く見る
%a4%db%a4%b2%a4%db%a4%b2+%a4%db%a4%cb%a4%e3%a4%e9%a4%e9%a1%c1
って感じのエンコード文字列ですが、
これはナニ形式と呼ぶのでしょうか?

また、この文字列をデコードするにはどうしたらよいのでしょう?

Excelマクロ(VBA)のなかでちょっと使ってみたいので、
どなたか、ご教示の程おねがいします。

Aベストアンサー

(゜▽゜*)♪ニパッ
個人的なロジック公開しちゃう
バグあるかも?

Sub Main()
  MsgBox convUrltoUni("%a4%db%a4%b2%a4%db%a4%b2+%a4%db%a4%cb%a4%e3%a4%e9%a4%e9%a1%c1")
End Sub

Public Function convUrltoUni(inVal As String)
  Dim lngLen   As Long   '文字長
  Dim lngFindPos As Long   '%文字を見つけた位置
  Dim lngStart  As Long   '検索開始位置
  Dim strWk    As String  '文字列連結用ワーク
  Dim blnHigh   As Boolean '文字列が全角か半角によって切り替わるフラグ
  Dim bytWk    As Byte   '「%**」の値
  
  Dim bytHigh   As Byte   '全角文字の時の上位バイト
  Dim bytLow   As Byte   '全角文字の時の下位バイト
  Dim bytChar1  As Byte   '変換ワーク上位
  Dim bytChar2  As Byte   '変換ワーク下位
  
  Dim eucCrLf   As Byte   'EUCの改行コード
  
  'EUC改行コードを取得
  eucCrLf = Asc(vbLf)
  
  '文字長を得る
  lngLen = Len(inVal)
  
  '検索開始位置デフォルト
  lngStart = 1
  
  '上位バイトの処理を行ったことを記すフラグをおろす
  blnHigh = False
  Do
    '%文字を見つける
    lngFindPos = InStr(lngStart, inVal, "%")
    '見つからなかったら、文字長+1をセット
    If lngFindPos = 0 Then
      lngFindPos = lngLen + 1
    End If
    
    '検索開始位置と「%」の発見位置が違うなら、半角文字が存在していることになる
    If lngFindPos <> lngStart Then
      '半角文字なので、そのままセット
      strWk = strWk & Mid(inVal, lngStart, lngFindPos - lngStart)
      blnHigh = False
    End If
    
    '「%」の発見位置が文字長を超えていたら抜ける
    If lngFindPos >= lngLen Then
      Exit Do
    End If
    
    'バイト値としてゲット
    bytWk = CByte("&H" & (Mid(inVal, lngFindPos + 1, 2)))
    
    '先に上位バイトの処理がなされていないなら
    If Not blnHigh Then
      '半角文字の時の処理
      If bytWk < &H80 Then
        '改行コードの処理
        If bytWk = eucCrLf Then
          strWk = strWk & vbCrLf
        '改行コード以外の処理
        Else
          strWk = strWk + Chr(bytWk)
        End If
        
      '半角文字でないときの処理
      Else
        '下位バイトが必要なので、上位バイトとして値を記憶
        bytHigh = bytWk - &H80
        '変換準備上位(ここはお決まり変換ロジック)
        If bytHigh < 95 Then
          bytChar1 = 112
        Else
          bytChar1 = 176
        End If
        
        '上位バイトの処理を行ったことを記すフラグを立てる
        blnHigh = True
      End If
    
    'すでに上位バイトの処理がされている時
    Else
      '上位バイトと組み合わせての変換処理(ここはお決まり変換ロジック)
      bytLow = bytWk - &H80
      If bytHigh Mod 2 = 1 Then
        If bytLow > 95 Then
          bytChar2 = 32
        Else
          bytChar2 = 31
        End If
      Else
        bytChar2 = 126
      End If
      bytHigh = ((bytHigh + 1) \ 2) + bytChar1
      bytLow = bytLow + bytChar2
      
      strWk = strWk & Chr(CInt("&H" & Hex(bytHigh) & Hex(bytLow)))
      
      '上位バイトの処理を行ったことを記すフラグをおろす
      blnHigh = False
    End If
    
    lngStart = lngFindPos + 3
  Loop
  
  convUrltoUni = strWk
End Function

(゜▽゜*)♪ニパッ
個人的なロジック公開しちゃう
バグあるかも?

Sub Main()
  MsgBox convUrltoUni("%a4%db%a4%b2%a4%db%a4%b2+%a4%db%a4%cb%a4%e3%a4%e9%a4%e9%a1%c1")
End Sub

Public Function convUrltoUni(inVal As String)
  Dim lngLen   As Long   '文字長
  Dim lngFindPos As Long   '%文字を見つけた位置
  Dim lngStart  As Long   '検索開始位置
  Dim strWk    As String  '文字列連結用ワーク
  Dim blnHigh   As Boolean '文字列が全角か半角によ...続きを読む

QEXCELのVBAでシートコピーをしたとき元のマクロを削除するには?

VBAのマクロでシートのコピーをしたいのですが、元のシートにはVBAのコードが含まれています。コピーするのはデータだけのコピーが必要で、マクロ自体は必要ないのですが、それを削除するコードはどのように書いたらいいのでしょうか?
どうしてもコピーしたファイルを開くと「マクロが含まれています」という確認メッセージが出てしまうのですが、それもなくしたいのです。
シートにフォームのボタンが配置されている場合も同様に、そのボタン自体をなくした状態でコピーを行いたいのですが・・・。プログラムで行うのは不可能なのでしょうか?

Aベストアンサー

No2です。
サンプルコードを書いてみました。
「オリジナル」という名前のシートを別ブックとしてコピペ保存します。

Sub サンプル()
Dim sc As Integer
sc = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
ThisWorkbook.Sheets("オリジナル").Cells.Copy 'コピー
Workbooks.Add 'ブック追加
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlValues '値貼り付け
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlFormats '書式貼り付け
Sheets("Sheet1").Name = "コピー"
Application.CutCopyMode = False
Application.SheetsInNewWorkbook = sc
ActiveWorkbook.Close
ThisWorkbook.Activate
End Sub

No2です。
サンプルコードを書いてみました。
「オリジナル」という名前のシートを別ブックとしてコピペ保存します。

Sub サンプル()
Dim sc As Integer
sc = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
ThisWorkbook.Sheets("オリジナル").Cells.Copy 'コピー
Workbooks.Add 'ブック追加
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlValues '値貼り付け
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlFormats '書式貼り付け...続きを読む

Q全角の英数(0から9、AからZなど)を全て検出したい。

こんにちは。先ほど質問したものです。

EXCELのsheetにセルごとに約300文字、セルの数約150、合計4万5000文字の日本語文章があります。この文章中から全角英数字をすべて検出するプログラミングをお願いしたいのですが、・・

英数字は半角で入力したつもりですが、精査の必要が生じました。簡易言語か、マクロで検出したいのですが、プログラミングをお願いできればと思います。プログラミングは自分でも経験あります。現在多忙なため時間が取れません。また、しばらくプログラミングをしておらず、時間がかかります。どなたか助けていただければ有難いです。よろしくお願いします。
--
回答で「置き換え」を使うことをアドバイスいただきましたが、精査の内容を再確認すると、全角英数のすべてでした。一語づずつ処理してもいいのですが、大変ですし、完璧な処理の要求される内容ですので、できれば、一発で処理できるものが欲しいです。
お助けください。

Aベストアンサー

ありましたね。
http://kokoro.kir.jp/excel/asc.html
Excelの関数でできるようです。

後、もう一つ思いついたのは、一回エクセルからテキスト形式(CSV)に落として、ワードで開きます。そこで、
http://kokoro.kir.jp/word/mojisyu.html
文字種を変換して、CSVを上書き保存。それを、エクセルから開きなおせば、全角->半角の変換ができるはずです。

この二つでダメなら、置き換えをするのが一番確実かつ早いと思います。

QVBAのワークシートの追加とコピーなんですが。

VBAのワークシートの追加とコピーなんですが。


sheet1の原紙をすべてコピーして、

新しくワークシートを追加してそのシートに貼り付けるプログラムを

教えてください。

Aベストアンサー

With ActiveWorkbook
  aaa = .Sheets("Sheet1").Cells(9, 4).Value 'aaaは社員
  bbb = .Sheets("Sheet1").Cells(9, 5).Value 'bbbは4月
  .Sheets("Sheet1").Copy After:=.Sheets(.Sheets.Count)
End With
ActiveSheet.Name = aaa & bbb

QVBで、String型のデータが、全角か、半角かを判断する関数は・・・

こんにちわ。

VB5.0で、String型のデータが、全角か、半角かを判断する関数はあるでしょうか?また、判断方法を教えてください。

よろしくお願いします。

Aベストアンサー

こんにちは。maruru01です。

Asc関数で文字のコードを取得して判断すればいいと思います。
半角はコードが0~255だったと思うので、次のようになります。

文字変数をsとして
If 0 <= Asc(s) And Asc(s) <= 255 Then
  MsgBox "半角です"
Else
  MsgBox "全角です"
End If

ちなみに私の環境はVB6.0なので5.0では試してません。(問題ないと思いますが。)
では。

QEXCEL2002で、ブック内のワークシートを他のブックに(VBA含む丸ごと)コピーして移す方法

 EXCEL2002で、ブック内のワークシートを他のブックに(VBA含む丸ごと)コピーして移す方法
 普通のやり方では、セルの数字、値だけで、通常は、中身の重要な"関数式"であったり、VBA等のプログラムまで、コピーされることは、ありませんので、そこまで、出来る方法を教えて下さい。

Aベストアンサー

コピー元のBookとコピー先Bookをどちらも開いて
Excel画面上に並べます(左右に並べる方が作業しやすいと思います)

Ctrlキーを押しながら、コピーしたいシートのタブ部分を
クリック長押しすると、+マークと▲マークが出てきます。
マークが出てきたら、新しいBookにドラッグ&ドロップ で
シートコピーが出来ます。

全く同じシートがコピーされ、マクロもコピーされます。

Q数字の全角文字を調べる

visual basic 2008に関する質問です。

テキストボックスに入力した文字列の中に、数字の全角文字が
含まれているかどうかをチェックするメソッドはありますか?

下記の内容でビルドすると、エラーとなります。

(ソースより抜粋)---------------------------------------
Dim str As String = TextBox1.Text
Dim chr As Char = str.Chars(0)

If ((chr >= &H8250) And (chr <= &H8258)) Then
Label1.Text = "数字は半角文字で入力して下さい。"
End If
-------------------------------------------------------

(エラー内容)-------------------------------------------
演算子'>='は、型'Char'および'Integer'に対して定義されて
いません。
演算子'<='は、型'Char'および'Integer'に対して定義されて
いません。
-------------------------------------------------------

使用OSは、Windows Vistaです。
質問とあわせて、上記のエラーの対処方法について教えて頂けると
助かります。

visual basic 2008に関する質問です。

テキストボックスに入力した文字列の中に、数字の全角文字が
含まれているかどうかをチェックするメソッドはありますか?

下記の内容でビルドすると、エラーとなります。

(ソースより抜粋)---------------------------------------
Dim str As String = TextBox1.Text
Dim chr As Char = str.Chars(0)

If ((chr >= &H8250) And (chr <= &H8258)) Then
Label1.Text = "数字は半角文字で入力して下さい。"
End If
-------------------------------...続きを読む

Aベストアンサー

Class Q4534038

Shared Sub Main()

Dim Str As String = "01239"
For i As Integer = 0 to Str.Length - 1
Dim codepoint As Integer = Char.ConvertToUtf32(str,i)
'Integer同士で比較すればよし。16進リテラルは負になることがあるらしいので,10進リテラルで比較。Unicodeのコードポイントで比較した。
If codepoint >= 65296 AndAlso codepoint <= 65305 Then
System.Console.WriteLine("U+FF10-U+FF19の文字が" & i.toString() & "文字目に使われています。:" & codepoint.ToString())
End If
Next

'説明しないけど正規表現使った方が楽かもね(System.Text.RegularExpressions.RegEx)
'必要ならInteger.ParseやDouble.Parseが使えないか検討しよう。
'個人的には「U+FF10-U+FF19」と「U+0030-U+0039以外」を区別すること自体が嫌い
'もっと嫌いなのはこちらの誤りを一切指摘せず,勝手に誤りを訂正して処理を進めるタイプ

System.Console.ReadKey(true)
End Sub

End Class

Class Q4534038

Shared Sub Main()

Dim Str As String = "01239"
For i As Integer = 0 to Str.Length - 1
Dim codepoint As Integer = Char.ConvertToUtf32(str,i)
'Integer同士で比較すればよし。16進リテラルは負になることがあるらしいので,10進リテラルで比較。Unicodeのコードポイントで比較した。
If codepoint >= 65296 AndAlso codepoint <= 65305 Then
System.Console.WriteLine("U+FF10-U+FF19の文字が" & i.toString() & "文字目に使われています。:" & codepoint.ToString())
End ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング