C# 中字符串与字节数组的转换
在将代码从 VB 迁移到 C# 时,字符串与字节数组转换可能会出现问题。当处理返回对象的属性而不是字节数组时,尤其如此。
请考虑以下存在问题的代码:
<code class="language-csharp">if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); }</code>
此代码中遇到的错误源于对属性值将是字节数组的预期,而实际上它是一个对象。为了解决这个问题,务必了解最初用于将字符串转换为字节数组的编码方式。
如果字节数组是使用 ASCII 编码创建的,则应使用以下方法将其转换回字符串:
<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>
同样,如果使用了 UTF8 编码,则将字节数组转换为字符串的适当方法是:
<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>
通过识别用于创建字节数组的编码,您可以确保字符串转换正确执行。
以上是如何在 C# 中正确地将字符串转换为字节数组,反之亦然?的详细内容。更多信息请关注PHP中文网其他相关文章!