相关疑难解决方法(0)

base 64编码用于什么?

我听说有人在这里和那里谈论"base 64编码".它是干什么用的?

base64 encoding encode

729
推荐指数
16
解决办法
33万
查看次数

如何将字节数组转换为字符串

我用两个字符串创建了一个字节数组.如何将字节数组转换为字符串?

var binWriter = new BinaryWriter(new MemoryStream());
binWriter.Write("value1");
binWriter.Write("value2");
binWriter.Seek(0, SeekOrigin.Begin);

byte[] result = reader.ReadBytes((int)binWriter.BaseStream.Length);
Run Code Online (Sandbox Code Playgroud)

我想转换result为字符串.我可以用它做BinaryReader.但我不能使用BinaryReader(它不支持).

c# arrays binaryreader

648
推荐指数
4
解决办法
111万
查看次数

在C#中将字符串转换为字节数组

我对C#很陌生.我正在将VB中的内容转换为C#.遇到此语句的语法问题:

if ((searchResult.Properties["user"].Count > 0))
{
    profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]);
}
Run Code Online (Sandbox Code Playgroud)

然后我看到以下错误:

参数1:无法从'object'转换为'byte []'

'System.Text.Encoding.GetString(byte [])'的最佳重载方法匹配有一些无效的参数

我试图根据这篇文章修复代码,但仍然没有成功

string User = Encoding.UTF8.GetString("user", 0);
Run Code Online (Sandbox Code Playgroud)

有什么建议?

c# string encoding byte

594
推荐指数
14
解决办法
110万
查看次数

如何知道字符串的大小(以字节为单位)?

我想知道我是否能知道stringC#中的字节有多长,有谁知道?

.net c# string size byte

88
推荐指数
4
解决办法
12万
查看次数

如何安全地将字节数组转换为字符串并返回?

我不关心编码和东西,只要我找回完全相同的字节数组.

总结一下:如何将字节数组转换为字符串,然后将该字符串转换回我开始使用的相同字节数组?

c# string bytearray

86
推荐指数
2
解决办法
6万
查看次数

如何在.NET中将字符串转换为字节数组?

我有一个字符串,我需要转换为.NET中的等效字节数组.

这应该很容易,但我有脑痉挛.

.net string bytearray

71
推荐指数
4
解决办法
6万
查看次数

为什么.net对字符串使用UTF16编码,但是使用utf8作为保存文件的默认值?

从这里

本质上,string使用UTF-16字符编码形式

但是当与StreamWriter保存时:

此构造函数创建一个StreamWriter,其UTF-8编码没有字节顺序标记(BOM),

我见过这个样本(删除了断开的链接):

在此输入图像描述

utf8对于某些字符串看起来更小,而utf-16在其他字符串中则更小.

  • 那么为什么.net utf16utf8保存文件时使用字符串的默认编码?

谢谢.

ps我已经读过这篇着名的文章了

.net c# string utf-8 utf-16

60
推荐指数
3
解决办法
3万
查看次数

MemoryStream to String,并返回MemoryStream而不添加任何字节(编码等)

好的,我在这里这里都遇到过一些文章,但他们并没有做我需要做的事情,而且我遇到了一些麻烦.

我收到一段加密的数据作为内存流.我需要以某种方式将内存流写入文件(我编写模型的方式,因为字符串最好),然后从文件中检索字符串并将其作为内存流发送到要解密的服务.我只是使用流读取器将内存流存储为字符串,并使用编码将字符串读入内存.

问题是我收到一个错误,说我的加密数据已损坏.我认为这意味着我以某种方式改变了字节.

以下是将memorystream读入字符串的代码:

using (StreamReader reader = new StreamReader(dataKeyResponse.CiphertextBlob))
{
    encryptedDataKey = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

以下是将从文件中检索到的字符串读取到内存流中的代码:

MemoryStream mStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(encryptedKey));
Run Code Online (Sandbox Code Playgroud)

我认为这样做的步骤是ASCIIEncoding,但后来我实现了上面的解决方法,将字节数组转换为内存流,并得到了同样的错误.

byte[] bytes = new byte[encryptedKey.Length*sizeof (char)];
System.Buffer.BlockCopy(encryptedKey.ToCharArray(), 0, bytes, 0, bytes.Length);

string decryptedKey;
using (MemoryStream mStream = new MemoryStream())
{
    mStream.Write(bytes, 0, bytes.Length);
    var decryptRequest = new DecryptRequest()
    {CiphertextBlob = mStream};
    var decryptResponse = client.Decrypt(decryptRequest);
    using (StreamReader reader = new StreamReader(decryptResponse.Plaintext))
    {
        decryptedKey = reader.ReadToEnd();
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设(1)有些东西以某种方式改变数据而不是其他一些错误; (2)它在流 - >字符串或字符串 - …

c# arrays string encryption

14
推荐指数
1
解决办法
2万
查看次数

如何获得UTF-16字节数组?

我有一个UTF-8字符串,我需要得到UTF-16编码的字节数组,那么如何将我的字符串转换为UTF-16字节数组?

更新:
我的意思是我们有Encoding.Unicode.GetBytes()Encoding.UTF8.GetBytes()至函数来获取字符串的字节数组,那怎么样UTF-16?我们没有,Encoding.UTF16.GetBytes()所以如何获得字节数组?

c# encoding

13
推荐指数
2
解决办法
2万
查看次数

ServiceStack.OrmLite中的ntext

我怎样才能在ServiceStack.OrmLite代码中首先使用nText数据类型?

public class Email
{
    [AutoIncrement]
    public long ID { get; set; }


    public DateTime Date { get; set; }

    public string From { get; set; }

    public string Subject { get; set; } 

    nText =>
    public string Body { get; set; } 

}
Run Code Online (Sandbox Code Playgroud)

如果我使用字符串数据类型,ormlite在数据库中生成nVarchar(8000)

我需要超过8000个字符的数据

c# sql-server code-first servicestack ormlite-servicestack

8
推荐指数
1
解决办法
1890
查看次数