当前位置: 首页 > 知识库问答 >
问题:

Base64字符串编码C#与TSQL

焦同
2023-03-14

我在C#和TSQL中有base64字符串编码/解码函数,我的问题是C#的编码结果与TSQL的编码结果不同。

    null
Convert.ToBase64String(Encoding.UTF8.GetBytes("test"));

Result: dGVzdA==
SELECT CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'NVARCHAR(MAX)')   Base64Encoding
FROM 
(
    SELECT CAST(N'test' AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp

Result: dABlAHMAdAA=

你知道如何匹配结果吗?

共有1个答案

施兴言
2023-03-14

SQL Server使用的是UTF-16。您的C#代码使用的是UTF-8,因此不同。

要让C#代码使用UTF-16,可以这样做:

Convert.ToBase64String(Encoding.Unicode.GetBytes("test"))

Result: dABlAHMAdAA=
 类似资料:
  • 我想将一个字符串编码成并通过套接字传输它,然后解码回来。 下面是我的代码,结果是“77+9x6s=” 有什么想法如何实现这一点吗?

  • 问题内容: 我运行以下代码: 游乐场: http : //play.golang.org/p/qbkEIZRTPQ 输出: 所需的输出: 为什么base64编码它就像普通的一样? 毕竟,RawMessage的MarshalJSON实现只是返回字节片 问题答案: 在螺母中找到答案 传递给的值必须是正常工作的指针:

  • 它失败了并给出了像贝娄这样的例外。 xml格式与不兼容吗?

  • 初识Unicode 编码 # codecs_to_hex.py import binascii def to_hex(t, nbytes): """Format text t as a sequence of nbyte long values separated by spaces. """ chars_per_item = nbytes * 2 he

  • 本文向大家介绍C#使用base64对字符串进行编码和解码的测试,包括了C#使用base64对字符串进行编码和解码的测试的使用技巧和注意事项,需要的朋友参考一下 需要引入命名空间: 解码: 编码: 测试: 结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • 问题内容: 通过GET参数传递原始base64编码的字符串是否安全? 问题答案: 不,您需要对其进行url编码,因为base64字符串可以包含“ +”,“ =”和“ /”字符,这可能会改变数据的含义-看起来像一个子文件夹。 有效的base64字符如下。