C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>
■61407  Re[1]: テキストファイルのエンコードを知りたい
□投稿者/ 魔界の仮面弁士 -(2011/08/11(Thu) 17:39:25)
    No61404 (sosio さん) に返信
    > あるテキストファイルのエンコードがUTF-8であるかを知りたいのですが、
    > お願い致します。
    
    .NET であれば、手っ取り早いのは Encoding クラスを使う事でしょう。
    
    GetEncoding の引数に DecoderExceptionFallback を指定しておけば、
    「UTF-8 では定義されていないバイト列」をデコードする際、
    バイナリ中のどの部分が変換エラーとなったのかを、例外として検知できます。
    (例外にならないようであれば、それは正しい UTF-8 ということです)
    
    -------
    
    上記の他、バイナリデータを一つずつ見ていくという手法もあります。
    それが「テキストファイル」であることが確定しているのであれば、
    先頭 3 バイトが EF BB BF (16進数)であれば、多くの場合、そのファイルを
    UTF-8 と見做すことができます。手抜きな検出方法ですが、データ全体を
    走査する必要が無いため、DecoderExceptionFallback を使うよりも高速です。
    
    
    一方、BOM 無しの場合は EF BB BF はありません。
    この場合、UTF-8 ではそれぞれの文字が 2進数表現 で
     1 バイト文字……0xxxxxxx
     2 バイト文字……110xxxxx 10yyyyyy
     3 バイト文字……1110xxxx 10yyyyyy 10zzzzzz
     4 バイト文字……11110www 10xxxxxx 10yyyyyy 10zzzzzz
    という並びになるように定義されていますので、これを基に判定することもできます。
    なお、16進数で表現した場合はこんな感じ。
    
     コードポイント       第1バイト 第2バイト 第3バイト 第4バイト
    -------------------   --------- --------- --------- ---------
     U+0000  〜U+007F   →  00 〜 7F 
     U+0080  〜U+07FF   →  C2 〜 DF  80 〜 BF
     U+0800  〜U+0FFF   →  E0        A0 〜 BF  80 〜 BF
     U+1000  〜U+CFFF   →  E1 〜 EC  80 〜 BF  80 〜 BF
     U+D000  〜U+D7FF   →  ED        80 〜 9F  80 〜 BF
     U+E000  〜U+FFFF   →  EE 〜 EF  80 〜 BF  80 〜 BF
     U+10000 〜U+3FFFF  →  F0        90 〜 BF  80 〜 BF  80 〜 BF
     U+40000 〜U+FFFFF  →  F1 〜 F3  80 〜 BF  80 〜 BF  80 〜 BF
     U+100000〜U+10FFFF →  F4        80 〜 8F  80 〜 BF  80 〜 BF
記事No.61404 のレス /過去ログ103より / 関連記事表示
削除チェック/

■61415  Re[2]: Long(string)形をByte一次元配列に変更
□投稿者/ shu -(2011/08/11(Thu) 23:01:50)
    一応、 MemoryStream + BinaryWriterの例
    
            Dim mem As New MemoryStream()
            Dim wt As New BinaryWriter(mem, Encoding.UTF8)
    
            wt.Write(10000000000&)
            wt.Write(100000)
            wt.Write("あいうえお")
            wt.Close()
    
            Dim bytes = mem.ToArray
    
            For Each dt In bytes
                Console.Write("{0:X2} ", dt)
            Next
            Console.WriteLine()
            mem.Dispose()
    
記事No.61411 のレス /過去ログ103より / 関連記事表示
削除チェック/

■61532  jQueryで何パーセント完了したかをリアルタイムに見たい
□投稿者/ ココロ -(2011/08/18(Thu) 16:50:53)

    分類:[JavaScript] 

    はじめまして

    どなたかご教授下さい。
    jQueryとPHPを使って

    function Count(){
    $.get('ajax/test.php,{data_cnt: 10000},function(data){
    $('#test').html(data);
    });
    }
    と言う形で

    test.phpは
    ただ単にforでdata_cnt回ループさせます。
    test.phpの中身
    for($i=1;$i<$_GET['data_cnt'];$i++){
    echo ($i / $_GET['data_cnt'])*100.'%完了しました';
    }


    ここで、<div id="test"></div>
    の中に、何パーセント終わりましたと言うような表示を出したいのですが
    上記のやりかたですと、data_cnt回終わった後に、どーーーんとテキストが張り付きます。

    私のやりたい事は、<div id="test"></div>の中が、○○%終わりましたと、リアルタイムに何パーセント終わっているのかを
    表示したいのですが、どうしたら可能でしょうか?

    無知で申し訳ございませんが、どうかご教授お願い致します。m(_ _ )m


親記事 /過去ログ103より / 関連記事表示
削除チェック/

■61790  Re[5]: カラー型のデータをストリングに変換する方法
□投稿者/ 魔界の仮面弁士 -(2011/09/05(Mon) 22:03:53)
    No61785 (佐藤 正弘 さん) に返信
    > vb5no

    VB5 の色は OLE カラーとも呼ばれるもので、16進数値では &H00BBGGRR で表されます。
    また、OLE カラーは &H80000000〜&H80000018 の範囲を取ることもあり、これはシステムカラーを意味します。

    たとえば VB5 では、vbBlack は &H00000000 になりますし、vbDesktop は &H80000001 です。

    >   vb5で使ったQBColorの例えば、黒の場合は 0、

    VB5 の vbBlack は数値としては &H0 で表されましたが、.NET の Color.Black は
    &HFF000000 になります。この場合の先頭 FF は Alpha 値であり、完全不透明を意味します。

    VB5 の色は BGR 順の &H00BBGGRR (または &H800000xx )の形式でしたが、
    .NET の ARGB 表現では RGB 順の &HAARRGGBB であることに注意が必要です。


    > 青の場合は8388608、緑の場合は32768、シアンの場合は8921376、赤の場合は128という具合の文字列を想定
    > していたものですから。

    VB5 の QBColor 関数も VB2010 の QBColor メソッドも、戻り値はいずれも
    「32bit 整数型」であって、「文字列型」では無いことに注意してください。

    ・VB5 の VBA.Information.QBColor は、As Long(あるいは As OLE_COLOR)。
    ・VB2010 の Microsoft.VisualBasic.Information.QBColor は As Integer(あるいは As Int32)。


    単純に Integer から String にするという場合においても、10進数だったり 16進数だったり、
    先頭ゼロ埋めだったりと、いろいろな形式があります。端折らずにきちんと説明しましょう。


    なお、QBColor メソッドの戻り値である整数を Color 構造体に変換する場合は、
    先述した ColorTranslator.FromOle メソッドを使えば OK です。たとえば
    QBColor(0) は &H0(0)、QBColor(1) は &H800000(8388608)、QBColor(2) は &H8000(32768) ですが、

     Dim c0 As Color = ColorTranslator.FromOle(QBColor(0))
     Dim c1 As Color = ColorTranslator.FromOle(QBColor(1))
     Dim c2 As Color = ColorTranslator.FromOle(QBColor(2))

    とした場合、c0 は Black、c1 は Navy、c2 は Green に変換されます。
    (QBColor 以外の色についても、同様に変換できます)


    逆に、Navy な色を
    > 青の場合は8388608
    に戻したい場合には、
     Dim i As Integer = ColorTranslator.ToOle(c1)
    のようになります。あるいは、ARGB 値から BGR 値に変換するために
     Dim j As Integer = c1.B * &H10000 + c1.G * &H100 + c1.R
    のようにすることもできますし、16進数文字列がお望みなら
     Dim s As String = String.Format("{2:X2}{1:X2}{0:X2}", c1.R, c1.G, c1.B)
    と記述できます。
記事No.61766 のレス /過去ログ103より / 関連記事表示
削除チェック/

■61802  Re[6]: カラー型のデータをストリングに変換する方法
□投稿者/ 佐藤 正弘 -(2011/09/06(Tue) 14:25:45)
    No61790 (魔界の仮面弁士 さん) に返信
    > ■No61785 (佐藤 正弘 さん) に返信
    >> vb5no
    >
    > VB5 の色は OLE カラーとも呼ばれるもので、16進数値では &H00BBGGRR で表されます。
    > また、OLE カラーは &H80000000〜&H80000018 の範囲を取ることもあり、これはシステムカラーを意味します。
    >
    > たとえば VB5 では、vbBlack は &H00000000 になりますし、vbDesktop は &H80000001 です。
    >
    >>  vb5で使ったQBColorの例えば、黒の場合は 0、
    >
    > VB5 の vbBlack は数値としては &H0 で表されましたが、.NET の Color.Black は
    > &HFF000000 になります。この場合の先頭 FF は Alpha 値であり、完全不透明を意味します。
    >
    > VB5 の色は BGR 順の &H00BBGGRR (または &H800000xx )の形式でしたが、
    > .NET の ARGB 表現では RGB 順の &HAARRGGBB であることに注意が必要です。
    >
    >
    >>青の場合は8388608、緑の場合は32768、シアンの場合は8921376、赤の場合は128という具合の文字列を想定
    >>していたものですから。
    >
    > VB5 の QBColor 関数も VB2010 の QBColor メソッドも、戻り値はいずれも
    > 「32bit 整数型」であって、「文字列型」では無いことに注意してください。
    >
    > ・VB5 の VBA.Information.QBColor は、As Long(あるいは As OLE_COLOR)。
    > ・VB2010 の Microsoft.VisualBasic.Information.QBColor は As Integer(あるいは As Int32)。
    >
    >
    > 単純に Integer から String にするという場合においても、10進数だったり 16進数だったり、
    > 先頭ゼロ埋めだったりと、いろいろな形式があります。端折らずにきちんと説明しましょう。
    >
    >
    > なお、QBColor メソッドの戻り値である整数を Color 構造体に変換する場合は、
    > 先述した ColorTranslator.FromOle メソッドを使えば OK です。たとえば
    > QBColor(0) は &H0(0)、QBColor(1) は &H800000(8388608)、QBColor(2) は &H8000(32768) ですが、
    >
    >  Dim c0 As Color = ColorTranslator.FromOle(QBColor(0))
    >  Dim c1 As Color = ColorTranslator.FromOle(QBColor(1))
    >  Dim c2 As Color = ColorTranslator.FromOle(QBColor(2))
    >
    > とした場合、c0 は Black、c1 は Navy、c2 は Green に変換されます。
    > (QBColor 以外の色についても、同様に変換できます)
    >
    >
    > 逆に、Navy な色を
    >>青の場合は8388608
    > に戻したい場合には、
    >  Dim i As Integer = ColorTranslator.ToOle(c1)
    > のようになります。あるいは、ARGB 値から BGR 値に変換するために
    >  Dim j As Integer = c1.B * &H10000 + c1.G * &H100 + c1.R
    > のようにすることもできますし、16進数文字列がお望みなら
    >  Dim s As String = String.Format("{2:X2}{1:X2}{0:X2}", c1.R, c1.G, c1.B)
    > と記述できます。

    魔界の仮面弁士様

    有難うございました。解決しました。


記事No.61766 のレス / END /過去ログ103より / 関連記事表示
削除チェック/

<前の20件

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

ヒット件数が多いので過去ログ1〜103 までの検索結果 / 過去ログ104からさらに検索→

パスワード/

- Child Tree -