如何使用 T-SQL 解码 base64 unicode 字符串
How to decode base64 unicode string with T-SQL
无法解码 base64 字符串中的阿拉伯字符。
当我解码时,它必须是这样的:'سلام جیران'(使用 base64encode 网站)。我尝试这样解码:
SELECT CAST(
CAST(N'' AS XML).value('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")' , 'VARBINARY(MAX)')
AS NVARCHAR(MAX)
) UnicodeEncoding ;
基于这个答案:Base64 encoding in SQL Server 2005 T-SQL
但是有这样的回应:'돘蓝Ꟙ藙������'
有没有办法正确解码阿拉伯字符?
要将 UTF-8 字符串转换为 nvarchar,您可以使用 CLR 函数(例如这个函数:) or a T-SQL function (such as this one: )。
使用第二个函数,您可以像这样解码数据:
SELECT dbo.DecodeUTF8String(CAST(N'' AS XML).value
('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")','VARBINARY(MAX)'))
无法解码 base64 字符串中的阿拉伯字符。 当我解码时,它必须是这样的:'سلام جیران'(使用 base64encode 网站)。我尝试这样解码:
SELECT CAST(
CAST(N'' AS XML).value('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")' , 'VARBINARY(MAX)')
AS NVARCHAR(MAX)
) UnicodeEncoding ;
基于这个答案:Base64 encoding in SQL Server 2005 T-SQL 但是有这样的回应:'돘蓝Ꟙ藙������' 有没有办法正确解码阿拉伯字符?
要将 UTF-8 字符串转换为 nvarchar,您可以使用 CLR 函数(例如这个函数:) or a T-SQL function (such as this one:
使用第二个函数,您可以像这样解码数据:
SELECT dbo.DecodeUTF8String(CAST(N'' AS XML).value
('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")','VARBINARY(MAX)'))