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

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

C# と VB.NET の入門サイト

Re[1]: エスケープシーケンスについて


(過去ログ 57 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■32584 / inTopicNo.1)  エスケープシーケンスについて
  
□投稿者/ TAT (1回)-(2009/02/10(Tue) 10:54:46)

分類:[ASP.NET (C#)] 

2009/02/10(Tue) 10:55:14 編集(投稿者)
2009/02/10(Tue) 10:55:11 編集(投稿者)

漢字項目に対してSJIS⇒JISに変換した場合に
シフトイン「1b 24 42 」、シフトアウト「1b 28 42」の
エスケープシーケンスで囲われます。

そのエスケープシーケンスに関してですが、
シフトアウトを「1b 28 42」ではなく、「1b 28 4a」を設定したいと
思っています。
プログラム上では特に意識してシフトIN、OUTを付与したわけではないため
戸惑っています。

System.Text.Encoding jisEncoding = System.Text.Encoding.GetEncoding("ISO-2022-JP");
System.IO.MemoryStream ms = new System.IO.MemoryStream();

byte[] byteArray2 = jisEncoding.GetBytes("あいうえおかきくけこ");

ms.Write(byteArray, 0 , byteArray.Length);

byte[] returnByte = ms.ToArray();


1.エスケープシーケンスを排除したいと思っているのですがそのようなことは可能でしょうか
2.意図したエスケープシーケンスを付与することは可能でしょうか。

何か手がかりがほしくて記載しました。
ご教授お願いいたします。
引用返信 編集キー/
■32585 / inTopicNo.2)  Re[1]: エスケープシーケンスについて
□投稿者/ επιστημη (1693回)-(2009/02/10(Tue) 11:01:20)
επιστημη さんの Web サイト
> シフトアウトを「1b 28 42」ではなく、「1b 28 4a」を設定したいと
> 思っています。

一旦変換してもろて、その後「1b 28 42」を「1b 28 4a」にすり替えちゃえ!
幸いにもデータ長に変化がないからトテモ楽。

引用返信 編集キー/
■32589 / inTopicNo.3)  Re[2]: エスケープシーケンスについて
□投稿者/ TAT (2回)-(2009/02/10(Tue) 11:12:27)
No32585 (επιστημη さん) に返信
>>シフトアウトを「1b 28 42」ではなく、「1b 28 4a」を設定したいと
>>思っています。
>
> 一旦変換してもろて、その後「1b 28 42」を「1b 28 4a」にすり替えちゃえ!
> 幸いにもデータ長に変化がないからトテモ楽。
>

すり替えるとは置換するということですか?
あまり理解できていなくてすみません。
引用返信 編集キー/
■32591 / inTopicNo.4)  Re[3]: エスケープシーケンスについて
□投稿者/ επιστημη (1694回)-(2009/02/10(Tue) 11:42:48)
επιστημη さんの Web サイト
2009/02/10(Tue) 11:46:42 編集(投稿者)

> すり替えるとは置換するということですか?

ですです。

Arrayの中から特定要素を探すのは簡単だけど特定"パターン"を
探すのに見合ったメソッドを持ち合わせてないみたいすね。

FindIndexで 1b を見つけ、その後に 28 42 が続いていれば...なんてことするですか。
難しくないけどマンドクセー...

# C++だったらどってことないのに

引用返信 編集キー/
■32592 / inTopicNo.5)  Re[4]: エスケープシーケンスについて
□投稿者/ TAT (3回)-(2009/02/10(Tue) 12:44:52)
FindIndexメソッドってC#2.0からですよね。
.NETFrameWork1.1ですので使えないのです。

引用返信 編集キー/
■32593 / inTopicNo.6)  Re[5]: エスケープシーケンスについて
□投稿者/ επιστημη (1695回)-(2009/02/10(Tue) 12:47:22)
επιστημη さんの Web サイト
> FindIndexメソッドってC#2.0からですよね。
> .NETFrameWork1.1ですので使えないのです。

いや、考え方を語ってるだけですから。
特定パターンを検索し、そいつを置き換えるだけなんだし。

引用返信 編集キー/
■32594 / inTopicNo.7)  Re[1]: エスケープシーケンスについて
□投稿者/ .SHO (666回)-(2009/02/10(Tue) 12:56:28)
No32584 (TAT さん) に返信

> シフトアウトを「1b 28 42」ではなく、「1b 28 4a」を設定したいと
> byte[] byteArray2 = jisEncoding.GetBytes("あいうえおかきくけこ");

byteArray2[byteArray2.Length-1] = 0x4a;

> ms.Write(byteArray, 0 , byteArray.Length);

これ、byteArray2 ですよね?
引用返信 編集キー/
■32595 / inTopicNo.8)  Re[2]: エスケープシーケンスについて
□投稿者/ TAT (4回)-(2009/02/10(Tue) 13:09:40)

> これ、byteArray2 ですよね?

そうです。間違えています。
引用返信 編集キー/
■32603 / inTopicNo.9)  Re[3]: エスケープシーケンスについて
□投稿者/ .SHO (668回)-(2009/02/10(Tue) 17:01:08)
No32595 (TAT さん) に返信

>>これ、byteArray2 ですよね?
> そうです。間違えています。

そっちじゃなくて
> byteArray2[byteArray2.Length-1] = 0x4a;
こっちは?
引用返信 編集キー/
■32612 / inTopicNo.10)  Re[1]: エスケープシーケンスについて
□投稿者/ みにゅう (1回)-(2009/02/10(Tue) 18:20:26)
No32584 (TAT さん) に返信
http://d.hatena.ne.jp/busaikuro/20081209#c1234253492
引用返信 編集キー/
■32614 / inTopicNo.11)  Re[4]: エスケープシーケンスについて
□投稿者/ みきぬ (374回)-(2009/02/10(Tue) 18:57:28)
No32603 (.SHO さん) に返信
> そっちじゃなくて
>>byteArray2[byteArray2.Length-1] = 0x4a;
> こっちは?

末尾だけとは限らないんじゃないかしら?
もとの文字列に、ASCII文字が混じってたりするかもしれないし。

引用返信 編集キー/
■32615 / inTopicNo.12)  Re[5]: エスケープシーケンスについて
□投稿者/ .SHO (669回)-(2009/02/10(Tue) 20:53:46)
No32614 (みきぬ さん) に返信

> 末尾だけとは限らないんじゃないかしら?
> もとの文字列に、ASCII文字が混じってたりするかもしれないし。

↓これに対する回答の意味あいも含まれてます。

>> 一旦変換してもろて、その後「1b 28 42」を「1b 28 4a」にすり替えちゃえ!
>> 幸いにもデータ長に変化がないからトテモ楽。
>すり替えるとは置換するということですか?
>あまり理解できていなくてすみません。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -