57日目 BOMありBOMなしなど

今日はBOMありBOMなしについて勉強。
 
ADODB.Streamを使用して、文字コードを指定してCSVファイルを読み込むのを勉強した。
昨日も勉強したんだけど、復習も兼ねてもう一度勉強。
 
今日は、指定した文字コード以外の文字コードCSVファイルを読み込んだ時の判定が分からなくてずっと調べていた。
 
If Mid(a,i,1) <> Chr(63) Then
   if Asc(Mid(a,i,1)) = 63 Then
Exit Sub
   End If
End If
 
これの一番上の判定の意味が分からなくて、色々調べたり動かしてみたり。
分からない内は、本当に一番上の判定って必要なんだろうかと思ってしまった。
でも何とか解説しているサイトを見つけて理解出来た。
 
一番上の判定で、本物の?と文字化けして?になっている文字列を判断しているみたい。
実際に動かして更に納得。
 
明日もCSV関連の勉強。