DOBON.NET DOBON.NETプログラミング掲示板過去ログ

EUC-JP変換について

分類:[.NET]

C#でテキストボックスに入力されたものをEUC-JPに変換するにはどうしたらいいんでしょうか?
UTF8には変換できたのですがEUC-JPはできないんです。
どなたか教えてください
■No8794に返信(ベアーさんの記事)
> C#でテキストボックスに入力されたものをEUC-JPに変換するにはどうしたらいいんでしょうか?
> UTF8には変換できたのですがEUC-JPはできないんです。
> どなたか教えてください

http://ukamen.hp.infoseek.co.jp/Programming1/WebAccess/
あたりどうでしょう。
 System.Text.Encoding enc =System.Text.Encoding.GetEncoding("euc-jp");
という感じでエンコーディングが指定できると思います。
こんにちは中です。

> System.Text.Encoding enc =System.Text.Encoding.GetEncoding("euc-jp");
> という感じでエンコーディングが指定できると思います。

対応してなかったと思うけど・・・
nkfが有名ですね。
http://www.vector.co.jp/soft/win95/util/se031296.html

対応してたらごめんチャイ。

------------------------------------------------------
中博俊 MSMVP Visual Studio C# Since 2004/04-2005/03, MCP
http://naka.wankuma.com/
http://naka.wankuma.com/blog/
naka@wankuma.com
皆さんありがとうございました
解決しました
解決済み!
  • 題名: Re[4]: EUC-JP変換について
  • 著者: 中 博俊
  • 日時: 2005/01/30 20:56:36
  • ID: 8804
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
どうやって?
対応してたかどうか、どうやって解決したかフィードバックするくらいして欲しいもんですね。
■No8802に返信(中 博俊さんの記事)
> こんにちは中です。
>
>> System.Text.Encoding enc =System.Text.Encoding.GetEncoding("euc-jp");
>>という感じでエンコーディングが指定できると思います。
>
> 対応してなかったと思うけど・・・
> nkfが有名ですね。
> http://www.vector.co.jp/soft/win95/util/se031296.html
>
> 対応してたらごめんチャイ。

検証コードVBですけど貼っておきますね。
Dim sw As New System.IO.StreamWriter("c:\test.txt", False, _
System.Text.Encoding.GetEncoding("euc-jp"))
'内容をすべて書き込む
sw.Write("euc-jp文書を保存して確認!123ABC")
sw.Close()

メモ帳で開くとeucなんで化けます。
エディタで日本語EUC形式で開くと、ちゃんと表示されますね。
そうですか。そうですか。
それなら問題なしですね。(^^
ここでははじめまして。シャノンと申します。

■No8802に返信(中 博俊さんの記事)
> 対応してなかったと思うけど・・・

Encoding が解釈できるコードページは、最低限保障されている以外はプラットフォームに依存しますが、せめて Windows でサポートされているものだけでも、MSDN にリストをのっけといてくれないもんですかね…
俺の場合、対応しているものを全部リストに書き出してあります。
結構便利ですよん。
>対応してなかったと思うけど・・・

してます (^^;
少なくとも、標準構成の日本語版の Windows では期待通りの動作をします。

euc-jp が処理できないのは、WideToMultiByte() や MultiBYteToWide() などの API です。

.NET はこれらの API ではなく、IE コンポーネントを使っているようなので、euc-jp にも対応しています。

> Encoding が解釈できるコードページは、最低限保障されている以外はプラット
>フォームに依存しますが、せめて Windows でサポートされているものだけでも、
>MSDN にリストをのっけといてくれないもんですかね…

MUI などの導入だけでなく、各国語版によっても「最低限」が異なるので、難しいでしょうね。
■No8814に返信(渋木宏明(ひどり)さんの記事)
>>Encoding が解釈できるコードページは、最低限保障されている以外はプラット
> >フォームに依存しますが、せめて Windows でサポートされているものだけでも、
> >MSDN にリストをのっけといてくれないもんですかね…
>
> MUI などの導入だけでなく、各国語版によっても「最低限」が異なるので、難しいでしょうね。

http://www.users.gr.jp/ml/archive/viewer.aspx?name=cs&no=177
こんな形でとりだしてみる方法はあるみたいですね。

#これ、まとめなおしたページがあったはずなんだけど、見つけられない。
  • 題名: Re[6]: EUC-JP変換について
  • 著者: Mirror
  • 日時: 2005/02/02 10:57:00
  • ID: 8848
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No8846に返信(小野@どっとねっとふぁんさんの記事)
> > #これ、まとめなおしたページがあったはずなんだけど、見つけられない。
下記のサイトが参考になりませんか。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_81rn.asp
  • 題名: Re[6]: EUC-JP変換について
  • 著者: よねKEN
  • 日時: 2005/02/05 0:26:21
  • ID: 8924
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
2005/02/05(Sat) 00:26:58 編集(投稿者)

C#版は出ているので、VB版も載せておきましょ。
むかーしに書いたコードです。

■一覧を出力したソースコード
    Dim fs As New FileStream(出力先ファイルのパス, FileMode.OpenOrCreate)
        Dim sw As New StreamWriter(fs, Encoding.GetEncoding("Shift_JIS"))
        Try
            For i As Integer = 0 To 65535
                Try
                    Dim enc As Encoding = Encoding.GetEncoding(i)
                    sw.WriteLine("{0,5}:Web={1},Name={2},WinCP={3}", i, _
                                enc.WebName, enc.EncodingName, enc.WindowsCodePage)
                Catch nse As NotSupportedException
                    sw.WriteLine("{0,5}:{1}", i, "サポートされていません。")
                Catch ex As Exception
                    'sw.WriteLine("{0,5}:{1}", i, "例外が発生しました。")
                End Try
            Next
        Catch ioe As IOException

        Finally
            If Not sw Is Nothing Then
                sw.Close()
            End If
        End Try


DOBON.NET | プログラミング道 | プログラミング掲示板