编码.GetEncode问题 [英] Encoding.GetEncode Problem

查看:56
本文介绍了编码.GetEncode问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有来自剪贴板的Windows Form应用程序收到的数据,并根据一些ruls转换其

编码。这样做:

//从源[source]到多个目标[targ1,targ2]

System.Text.Encoding targ1 = Encoding.GetEncoding(" Target_1_code_name" );;

System.Text.Encoding targ2 = Encoding.GetEncoding(" Target_2_code_name");

System.Text.Encoding source = Encoding.GetEncoding(" Source_code_name" );

byte [] sourceBytes = source.GetBytes(source);

byte [] targ1Bytes = Encoding.Convert(source,targ1,sourceBytes,0,
sourceBytes.Length);

byte [] targ2Bytes = Encoding.Convert(source,targ2,sourceBytes,0,

sourceBytes.Length);

string targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);

string targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length);


但是没有任何事情发生....(源字符串继续看起来像

是,目标未被取消)。 egtarg1String = targ2String = source;


可能有什么问题

-

Tamir Khason

你想要dot.NET吗?只需询问:

"请, www.dotnet.us

I have Windows Form application recieved data from clipboard and convert its
encoding based on some ruls. So doing following:
//from source[source] to multiple targets[targ1,targ2]
System.Text.Encoding targ1 = Encoding.GetEncoding("Target_1_code_name");
System.Text.Encoding targ2 = Encoding.GetEncoding("Target_2_code_name");
System.Text.Encoding source = Encoding.GetEncoding("Source_code_name");
byte[] sourceBytes = source.GetBytes(source);
byte[] targ1Bytes = Encoding.Convert(source, targ1, sourceBytes, 0,
sourceBytes.Length);
byte[] targ2Bytes = Encoding.Convert(source, targ2, sourceBytes, 0,
sourceBytes.Length);
string targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);
string targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length);

BUT Nothing happens....(the source strings continue to be looking like it
was, target undepended). e.g.targ1String = targ2String =source;

What can be a problem
--
Tamir Khason
You want dot.NET? Just ask:
"Please, www.dotnet.us "

推荐答案




字符串(我的意思是System.String)总是Unicode - 因此targ1String ==

targ2String == source。

但是如果比较sourceBytes,targ1Bytes和targ2Bytes,这些应该是

不同。


-

此致,
Dmitriy Lapshin [C#/ .NET MVP]

带来的力量今天对VS .NET IDE进行单元测试!
http:// www.x-unity.net/teststudio.aspx


Tamir Khason < TA ********** @ tcon-NOSPAM.co.il>在消息中写道

新闻:Ov ************** @ TK2MSFTNGP10.phx.gbl ...
Hi,

Strings (I mean System.String) are always Unicode - hence targ1String ==
targ2String == source.
But if you compare sourceBytes, targ1Bytes and targ2Bytes, these should be
different.

--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:Ov**************@TK2MSFTNGP10.phx.gbl...
我有Windows Form应用程序从剪贴板收到的数据并根据一些ruls转换它的编码。这样做:
//从源[source]到多个目标[targ1,targ2]
System.Text.Encoding targ1 = Encoding.GetEncoding(" Target_1_code_name");
系统。 Text.Encoding targ2 = Encoding.GetEncoding(" Target_2_code_name");
System.Text.Encoding source = Encoding.GetEncoding(" Source_code_name");
byte [] sourceBytes = source.GetBytes(source );
byte [] targ1Bytes = Encoding.Convert(source,targ1,sourceBytes,0,
sourceBytes.Length);
byte [] targ2Bytes = Encoding.Convert(source,targ2,sourceBytes) ,0,
sourceBytes.Length);
字符串targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);
字符串targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length );

但没有任何事情发生....(源字符串继续看起来像是
,目标未被取消)。 egtarg1String = targ2String = source;

可能有什么问题

-
Tamir Khason
你想要dot.NET吗?只需询问:
请, www.dotnet.us "
I have Windows Form application recieved data from clipboard and convert
its
encoding based on some ruls. So doing following:
//from source[source] to multiple targets[targ1,targ2]
System.Text.Encoding targ1 = Encoding.GetEncoding("Target_1_code_name");
System.Text.Encoding targ2 = Encoding.GetEncoding("Target_2_code_name");
System.Text.Encoding source = Encoding.GetEncoding("Source_code_name");
byte[] sourceBytes = source.GetBytes(source);
byte[] targ1Bytes = Encoding.Convert(source, targ1, sourceBytes, 0,
sourceBytes.Length);
byte[] targ2Bytes = Encoding.Convert(source, targ2, sourceBytes, 0,
sourceBytes.Length);
string targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);
string targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length);

BUT Nothing happens....(the source strings continue to be looking like it
was, target undepended). e.g.targ1String = targ2String =source;

What can be a problem
--
Tamir Khason
You want dot.NET? Just ask:
"Please, www.dotnet.us "






Tamir Khason< ta ********** @ tcon-NOSPAM.co.il>写道:
Tamir Khason <ta**********@tcon-NOSPAM.co.il> wrote:
我有来自剪贴板的Windows Form应用程序收到的数据,并根据一些ruls转换它的
编码。
I have Windows Form application recieved data from clipboard and convert its
encoding based on some ruls.




如果你我们已经收到了数据字符串,你不需要做任何

编码转换。它已经是Unicode。


-

Jon Skeet - < sk *** @ pobox.com>
http://www.pobox.com/~skeet

如果回复小组,请不要给我发邮件



If you''ve received the data as a string, you don''t need to do any
encoding conversion. It''s already in Unicode.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too


那怎么办呢?


-

Tamir Khason

您想要dot.NET吗?只需询问:

"请, www.dotnet.us


Dmitriy Lapshin [C#/ .NET MVP]" < X - **** @ no-spam-please.hotpop.com>在消息新闻中写了

:ey ************** @ TK2MSFTNGP10.phx.gbl ...
So how to do it?

--
Tamir Khason
You want dot.NET? Just ask:
"Please, www.dotnet.us "

"Dmitriy Lapshin [C# / .NET MVP]" <x-****@no-spam-please.hotpop.com> wrote
in message news:ey**************@TK2MSFTNGP10.phx.gbl...

字符串(我的意思是System.String)总是Unicode - 因此targ1String ==
targ2String == source。
但是如果比较sourceBytes,targ1Bytes和targ2Bytes,这些应该是
不同。

-
此致,Dmitriy Lapshin [C#/ .NET MVP]
今天将单元测试的强大功能带到VS .NET IDE!
http://www.x-unity.net/teststudio。 aspx

Tamir Khason < TA ********** @ tcon-NOSPAM.co.il>在消息中写道
新闻:Ov ************** @ TK2MSFTNGP10.phx.gbl ...
Hi,

Strings (I mean System.String) are always Unicode - hence targ1String ==
targ2String == source.
But if you compare sourceBytes, targ1Bytes and targ2Bytes, these should be
different.

--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

"Tamir Khason" <ta**********@tcon-NOSPAM.co.il> wrote in message
news:Ov**************@TK2MSFTNGP10.phx.gbl...
我有来自剪贴板的Windows窗体应用程序收到的数据并根据一些ruls转换它的
编码。这样做:
//从源[source]到多个目标[targ1,targ2]
System.Text.Encoding targ1 = Encoding.GetEncoding(" Target_1_code_name");
系统。 Text.Encoding targ2 = Encoding.GetEncoding(" Target_2_code_name");
System.Text.Encoding source = Encoding.GetEncoding(" Source_code_name");
byte [] sourceBytes = source.GetBytes(source );
byte [] targ1Bytes = Encoding.Convert(source,targ1,sourceBytes,0,
sourceBytes.Length);
byte [] targ2Bytes = Encoding.Convert(source,targ2,sourceBytes) ,0,
sourceBytes.Length);
字符串targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);
字符串targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length );

但没有任何事情发生....(源字符串继续看起来像是
,目标未被取消)。 egtarg1String = targ2String = source;

可能有什么问题

-
Tamir Khason
你想要dot.NET吗?只需询问:
请, www.dotnet.us "
I have Windows Form application recieved data from clipboard and convert
its
encoding based on some ruls. So doing following:
//from source[source] to multiple targets[targ1,targ2]
System.Text.Encoding targ1 = Encoding.GetEncoding("Target_1_code_name");
System.Text.Encoding targ2 = Encoding.GetEncoding("Target_2_code_name");
System.Text.Encoding source = Encoding.GetEncoding("Source_code_name");
byte[] sourceBytes = source.GetBytes(source);
byte[] targ1Bytes = Encoding.Convert(source, targ1, sourceBytes, 0,
sourceBytes.Length);
byte[] targ2Bytes = Encoding.Convert(source, targ2, sourceBytes, 0,
sourceBytes.Length);
string targ1String = source.GetString(targ1Bytes,0,targ1Bytes.Length);
string targ2String = source.GetString(targ2Bytes,0,targ2Bytes.Length);

BUT Nothing happens....(the source strings continue to be looking like it
was, target undepended). e.g.targ1String = targ2String =source;

What can be a problem
--
Tamir Khason
You want dot.NET? Just ask:
"Please, www.dotnet.us "



这篇关于编码.GetEncode问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆