相关疑难解决方法(0)

如何在不手动指定编码的情况下在C#中获得字符串的一致字节表示?

我如何转换stringbyte[]在.NET(C#),而无需手动指定一个特定的编码?

我要加密字符串.我可以在不转换的情况下加密它,但我仍然想知道为什么编码在这里发挥作用.

另外,为什么要考虑编码?我不能简单地得到字符串存储的字节数吗?为什么依赖于字符编码?

.net c# string character-encoding

2121
推荐指数
22
解决办法
114万
查看次数

如何将普通字符串转换为等效的十六进制字节数组?

我的问题是如何转换,

string s = "Hello World";

进入

byte b = {0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64};

如果在 C# .NET Core 中有一个简单的方法,那么它将非常有帮助。

c# arrays string hex .net-core

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

string.IsNullOrEmpty & string.IsNullOrWhiteSpace 为空字符串返回 false

我遇到了一个奇怪的案例,其中一段代码旨在从 MSFT Azure Phrase Breaker 处理一段文本后清除空白字符串、句号破折号等。我可以使用帮助找出如何调试问题。

以下代码块true在给定值时返回""。显然期望是方法应该false在第一条if语句之后返回。在要查看的 899 个短语中,似乎只有两个有这个问题。也发生在另一台机器上。

public static bool IsSentenceTranslatable(string sentence)
{
    string trimmedSentence = sentence.Trim();

    if (string.IsNullOrEmpty(trimmedSentence) || string.IsNullOrWhiteSpace(trimmedSentence))
    {
        return false;
    }

    switch (trimmedSentence)
    {
        case " ":
        case ".":
        case "-":
        case "·":
            return false;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

这是调试器的快照。

调试器快照

它可能是 Visual Studio 或 .NET 中的错误吗?我尝试使用各种可视化工具,但仍然看不到盒子里的任何东西。.NET 4.5 C# 7.3

.net c#

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

如何在.NET Core中查找操作系统代码页号?

我需要在 .NET Core 应用程序中获取 Windows 默认代码页。即英语系统上为 1252、西里尔语系统上为 1251、希腊语系统上为 1253 等。以前在 .NET Framework 4 和 Mono 中,可以通过 Encoding.Default 轻松完成。程序迁移到.NET Core 3.1后,现在需要在每台PC上手动设置代码页号。这对于某些用户来说并不容易。

如何返回旧(系统)代码页的自动检测?无法读取 Windows 注册表来检测系统设置,因为应用程序还应该在 Linux 上运行,并使用从 Windows PC 接收(或发送到 Windows PC)的外部数据。

其他使用ANSI代码页进行数据输入和输出的软件不能被重写。

也许 OEM 代码页也很有趣(为了与控制台软件无缝交互,该软件甚至仍然使用 DOS 代码页)。

c# text codepages .net-core

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

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

我有一个字符串,

string Var="11001100" 
Run Code Online (Sandbox Code Playgroud)

我想将其转换为字节数组.

bArray[0]=0x00;
bArray[1]=0x00;
bArray[2]=0x01;
bArray[3]=0x01;
bArray[4]=0x00;
bArray[5]=0x00;
bArray[6]=0x01;
bArray[7]=0x01;
Run Code Online (Sandbox Code Playgroud)

有人可以指导我吗?我尝试了以下代码,但我得到了ASCII数据.我不要那个.

bArray = Encoding.Default.GetBytes(var);
Run Code Online (Sandbox Code Playgroud)

c# arrays type-conversion

0
推荐指数
1
解决办法
311
查看次数

将字符串转换为十六进制字节数组

我需要将字符串转换为十六进制表示的字节数组。例如:

值:06000002 我需要的是:

30 36 30 30 30 30 30 32
Run Code Online (Sandbox Code Playgroud)

我尝试将所有字符隐式转换为字节,如下所示:

byte[] bytes = new byte[daten.Length];
for (int i = 0; i < daten.Length; i++)
{
    int value = Convert.ToInt32(daten[i]);
    
    bytes[i] = (byte)daten[i];
}
Run Code Online (Sandbox Code Playgroud)

但是我总是得到这个结果:

48 54 48 48 48 48 48 50
Run Code Online (Sandbox Code Playgroud)

我不需要字符串形式的结果!我需要它作为字节数组!

如何达到这个目标?

c#

0
推荐指数
1
解决办法
317
查看次数

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

我在阅读时出现错误:

无法将类型'String'隐式转换为'Byte []'

我认为'byte []'是字节数组-如果不是,请更正我。

我在此网站上尝试了另一种解决方案,但我不理解。我正在制作ac#“ RTM工具”,这是放在里面的内容:

byte[] bytes = (metroTextBox2.Text);   
Array.Resize<byte>(ref bytes, bytes.Length + 1);   
PS3.SetMemory(0x2708238, bytes);
Run Code Online (Sandbox Code Playgroud)

c# bytearray

-1
推荐指数
1
解决办法
7715
查看次数

在C#中有效地将字符串转换为字节数组(不使用编码)

如何在不使用每个元素的情况下将字符串转换"0100"byte数组?该字符串只能包含字符0到9.{0,1,0,0}Convert.ToByte()

c# arrays string byte type-conversion

-2
推荐指数
1
解决办法
181
查看次数