QA@IT
«回答へ戻る

回答を投稿

汎用機の世界では、昔から、コード変換物はあるのですが
Web検索にはほとんど出ないかもしれません。

可変長テキスト?固定長レコード? 漢字IN/OUTを 使う/使わない
など EBCDIC + JIS漢字 といっても、バリュエーションあります。

EBCDIC もバリュエーションありました。コードページは?
英小文字、カナ、ユーザー外字もあるかも

●調べた限りでは文字コードの混在したファイルを作る方法が見つかりませんでした。
でしょう。

自作するなら、バイトで読んで変換です。
UNICODE以前のソースを発掘すると参考になるかも、
日本語文字列関数とか、JStringなんとかLib。

速度重視でないなら、SJIS→UNICODE→EBCDIC になります。
Get1文字→文字種判定→それぞれ文字変換→バイトで詰めてゆく。
文字→バイト配列 が判れば、1文字ループです。

====================================================
EBCDIC .NET Framework
で検索するとすぐ出ました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/010str2byte/str2byte.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/013enumenc/enumenc.html
コード表の細かいことを気にしなければ,切り替えの処理を作るだけで。

string str = "ESC切り替えのJISへ変換";
Encoding sjisEnc = Encoding.GetEncoding("iso-2022-jp");
byte[] bytes = sjisEnc.GetBytes(str);
Console.WriteLine(BitConverter.ToString(bytes));

1B-24-42-25-37-25-55-25-48-1B-28-42-4A-49-53-1B-24-42-24-58-4A-51-34-39-1B-28-42

IBM EBCDIC 日本語符号化文字集合
http://www.asahi-net.or.jp/~ez3k-msym/charsets/ebcdic.htm
[ メッセージ編集済み 編集者: MMX 編集日時 2004-06-22 15:17 ]

投稿者:MMX

汎用機の世界では、昔から、コード変換物はあるのですが
Web検索にはほとんど出ないかもしれません。

可変長テキスト?固定長レコード? 漢字IN/OUTを 使う/使わない
など EBCDIC + JIS漢字 といっても、バリュエーションあります。

EBCDIC もバリュエーションありました。コードページは?
英小文字、カナ、ユーザー外字もあるかも

●調べた限りでは文字コードの混在したファイルを作る方法が見つかりませんでした。
でしょう。

自作するなら、バイトで読んで変換です。
UNICODE以前のソースを発掘すると参考になるかも、
日本語文字列関数とか、JStringなんとかLib。

速度重視でないなら、SJIS→UNICODE→EBCDIC になります。
Get1文字→文字種判定→それぞれ文字変換→バイトで詰めてゆく。
文字→バイト配列 が判れば、1文字ループです。

====================================================
EBCDIC .NET Framework 
で検索するとすぐ出ました。
[http://www.atmarkit.co.jp/fdotnet/dotnettips/010str2byte/str2byte.html](http://www.atmarkit.co.jp/fdotnet/dotnettips/010str2byte/str2byte.html)
[http://www.atmarkit.co.jp/fdotnet/dotnettips/013enumenc/enumenc.html](http://www.atmarkit.co.jp/fdotnet/dotnettips/013enumenc/enumenc.html)
コード表の細かいことを気にしなければ,切り替えの処理を作るだけで。

    string str = "ESC切り替えのJISへ変換";
    Encoding sjisEnc = Encoding.GetEncoding("iso-2022-jp");
    byte[] bytes = sjisEnc.GetBytes(str);
    Console.WriteLine(BitConverter.ToString(bytes));

1B-24-42-25-37-25-55-25-48-1B-28-42-4A-49-53-1B-24-42-24-58-4A-51-34-39-1B-28-42

IBM EBCDIC 日本語符号化文字集合
[http://www.asahi-net.or.jp/~ez3k-msym/charsets/ebcdic.htm](http://www.asahi-net.or.jp/~ez3k-msym/charsets/ebcdic.htm)
<font size="-1">[ メッセージ編集済み 編集者: MMX 編集日時 2004-06-22 15:17 ]</font>


投稿者:MMX