Javascript C#Unicode字符串-Headscratcher - c#

如果我使用以下方法将Javascript中的Bytearray转换为字符串:

convertByteArrayToString: function(byteArray)
{
    var s = '';
    for(var i = 0;i < byteArray.length;i++)
            {
                    s += String.fromCharCode(byteArray[i])
            }
    return s;
},

然后如何在C#中将此字符串转换回字节数组?

我已经尝试了以下所有三个:

 System.Text.UnicodeEncoding encoding = new System.Text.UnicodeEncoding().GetBytes(myString);
 System.Text.UTF32Encoding encoding = new System.Text.UTF32Encoding().GetBytes(myString);
 System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding().GetBytes(myString);

最接近的是第一个,但是它返回的Byte数组是原始数组长度的两倍,并且数组中的每个其他元素均为0,有时值不正确或为2。

据我所知,String.fromCharCode使用Unicode,因此如何使它与C#互操作?

这真让我发疯!

编辑:

这是一个例子

原始字节数组:
[139、104、166、35、8、42、216、160、235、153、23、143、105、3、24、255]

我的函数将其转换为:
“ h¦#*Øëiÿ”

在C#中,尝试将此String解码为字节数组会产生以下结果:

使用System.Text.UnicodeEncoding可以:
[142,0,139,0,104,0,166,0,35,0,8,0,42,0,216,0,32,0,235,0,153,0,23,0,143,0,105,0,30,24,0,255,0]

c#参考方案

crypto-js具有Crypto.charenc.UTF8.stringToBytes()Crypto.charenc.UTF8.bytesToString(),它们与C#中的UTF-8编码完美配合。

编辑

经过讨论后,OP希望将byte[]从JS传输到C#中-最好通过base64编码完成(我推荐相同的JS工具包)

如何通过URL防止XSS? - javascript

我熟悉通常的持久性XSS,在这种情况下,来自用户输入的内容应在通往模板(html实体)的途中进行转义。最近,我遇到了一个非持久性的问题,用户可以在URL上的脚本中发送该URL,而该URL则显示在页面的某处。就我而言,这是一个链接标记。因此,我有以下使用当前URL的链接标记。<link rel="next" href="{c…

将字符串值添加到php / javascript - javascript

您好,我有一些代码需要在其中插入一些字符串值,但是每次我输入字母时,脚本都无法正常工作。<script type="text/javascript"> "use strict"; var values = [1,2,3,4,5,6,7,8,9]; /*add string values here*/ var…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

写一行到javascript文件 - javascript

我正在使用数组来显示网站中的一些图像:var paintingImages; paintingImages = [ { url: 'images/objects/ron.jpg', alt: 'ron' } ]; 该js代码写在paintings.js中,我的主要js代码写在main.js文件中我已经为艺术家制作了这个…

在JavaScript中运行方法C# - javascript

打扰一下,我有这种C#asp方法。受保护的无效btnSave_Click(对象发送者,EventArgs e)有谁知道我该如何发送脚本给您?可以办到?。 javascript大神给出的解决方案 是的,那可以做到。为此,您在.aspx.cs页中创建了函数,然后单击保存按钮上的代码将其复制到函数中,然后执行以下步骤。//Call cs method from J…