@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

HtmlDecode後の半角スペースについて

1
投稿者投稿内容
masa
常連さん
会議室デビュー日: 2003/01/14
投稿数: 37
投稿日時: 2006-03-08 15:36
お世話になります。
 
以下のようなプログラムを実行して、
“違う文字列”と判断される理由を調査中です。
  
- - - -
 
Dim str1 As String = System.Web.HttpUtility.HtmlDecode(" ")
Dim str2 As String = " " '半角スペース1つ
If str1 <> str2 Then
  MsgBox("違う文字列")
End If
 
- - - -
 
&gt;などでは問題が発生しません。
ご存知の方、ご教授願います。
 
■環境
 WindowsXP SP2
 VB.NET1.1
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-03-08 15:47

&nbsp; は一般的な半角空白である u+0020 ではない別の文字なので。
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/sgml/entities.html
masa
常連さん
会議室デビュー日: 2003/01/14
投稿数: 37
投稿日時: 2006-03-08 16:04
Hongliangさん、ありがとうございました。
知りませんでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-08 16:25
引用:

masaさんの書き込み (2006-03-08 16:04) より:

知りませんでした。


こういう場合はこうやって確認します。

コード:

    Dim str1 As String = System.Web.HttpUtility.HtmlDecode(" ")
    Dim str2 As String = " "

    ' 文字コード
    Console.WriteLine(Microsoft.VisualBasic.AscW(str1))
    Console.WriteLine(Microsoft.VisualBasic.AscW(str2))

    ' おまけ
    Console.WriteLine(Char.IsWhiteSpace(str1, 0))
    Console.WriteLine(Char.IsWhiteSpace(str2, 0))


こうすることで「文字コード 160 nbsp」のようなキーワードで検索してみるか、と思い立つわけです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
masa
常連さん
会議室デビュー日: 2003/01/14
投稿数: 37
投稿日時: 2006-03-08 16:41
じゃんぬねっとさん、ありがとうございます。
調査不足でした。
以後気をつけます。

1

スキルアップ/キャリアアップ(JOB@IT)