<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: SQL 2005 BASE64 Decode Query Syntax</title>
	<atom:link href="http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html</link>
	<description>programming, software &#38; problem solving</description>
	<lastBuildDate>Mon, 03 Oct 2011 12:19:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: izaltsman</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-2587</link>
		<dc:creator>izaltsman</dc:creator>
		<pubDate>Fri, 04 Sep 2009 20:40:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-2587</guid>
		<description>Of all the options for implementing base64 decoding in SQL, this is by far the easiest! Works great! Thanks!</description>
		<content:encoded><![CDATA[<p>Of all the options for implementing base64 decoding in SQL, this is by far the easiest! Works great! Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: boriss</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-2489</link>
		<dc:creator>boriss</dc:creator>
		<pubDate>Wed, 26 Aug 2009 12:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-2489</guid>
		<description>It works in SQL, Thank You.</description>
		<content:encoded><![CDATA[<p>It works in SQL, Thank You.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johan</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-2411</link>
		<dc:creator>johan</dc:creator>
		<pubDate>Tue, 18 Aug 2009 12:40:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-2411</guid>
		<description>I am facing the same proble.</description>
		<content:encoded><![CDATA[<p>I am facing the same proble.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: umesh patidar</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-2384</link>
		<dc:creator>umesh patidar</dc:creator>
		<pubDate>Sat, 15 Aug 2009 08:42:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-2384</guid>
		<description>I have try the same above code but not working fine.
they are returning garbage data when decoding utf-8 data.
Original text=????? ??????? 
UTF-encode String=2LnYqdir2LPYpyDYrdi02YHZh9mK2LTZgg==
above code decode output=Ø¹Ø©Ø«Ø³Ø§ Ø­Ø´ÙÙ‡ÙŠØ´Ù‚

I have not clear why the garbage data returning.</description>
		<content:encoded><![CDATA[<p>I have try the same above code but not working fine.<br />
they are returning garbage data when decoding utf-8 data.<br />
Original text=????? ???????<br />
UTF-encode String=2LnYqdir2LPYpyDYrdi02YHZh9mK2LTZgg==<br />
above code decode output=Ø¹Ø©Ø«Ø³Ø§ Ø­Ø´ÙÙ‡ÙŠØ´Ù‚</p>
<p>I have not clear why the garbage data returning.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dkumar</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-1130</link>
		<dc:creator>dkumar</dc:creator>
		<pubDate>Wed, 25 Feb 2009 13:11:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-1130</guid>
		<description>Thanks for your quick response.

Yes it was base64 encoded in a c# app with UTF-8 encoding.
string base64Encoded = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(originalString));

I was trying different combination and found that 
System.Text.Encoding.Default works fine for sql decoding.

so this is what I am using now,

string base64Encoded = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(originalString));

Not sure why my utf8 is returning a different value for certain cases.

Hopefully I will not have any more issues :)

Apperciate your help.
Thanks Again</description>
		<content:encoded><![CDATA[<p>Thanks for your quick response.</p>
<p>Yes it was base64 encoded in a c# app with UTF-8 encoding.<br />
string base64Encoded = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(originalString));</p>
<p>I was trying different combination and found that<br />
System.Text.Encoding.Default works fine for sql decoding.</p>
<p>so this is what I am using now,</p>
<p>string base64Encoded = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(originalString));</p>
<p>Not sure why my utf8 is returning a different value for certain cases.</p>
<p>Hopefully I will not have any more issues <img src='http://www.codemeit.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Apperciate your help.<br />
Thanks Again</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: codemeit</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-1127</link>
		<dc:creator>codemeit</dc:creator>
		<pubDate>Wed, 25 Feb 2009 03:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-1127</guid>
		<description>Hi dkumar,
What tools did you use to get base64 encode of &quot;h9l+€*c&quot;, 
did you use UTF-8 encoding?
You can try this tool to get the base64 encoded string.
http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/Default.aspx

Run the follow SQL to see, a properly encoded string 
matches its original string after decoding.
&lt;pre&gt;
[code lang=&quot;xml&quot;]
-- declare vars.
DECLARE @originalData varchar(max)
DECLARE @encodedData varchar(max)
DECLARE @decodedData varchar(max) 
DECLARE @xmlData XML

SET @originalData = &#039;h9l+€*c&#039;

-- this is my base 64 encoded string with UTF-8
SET @encodedData = &#039;aDlsK4AqgWM=&#039; 

-- construct an xml var.
SET @xmlData = CAST(&#039;&lt;data&gt;&#039; + @encodedData + &#039;&lt;/data&gt;&#039; as xml)

-- base64 decode the @encodedData.
SELECT @decodedData = CONVERT(varchar(MAX),  @xmlData.value(&#039;(data)[1]&#039;, &#039;varbinary(max)&#039;))

-- generate the outputs
SELECT @decodedData as DecodedAs

IF @decodedData = @originalData
	SELECT &#039;Good, @decodedData = @originalData&#039;
ELSE 
	SELECT &#039;Err, not the same.&#039;



-----Output-------------------------------

DecodedAs
h9l+€*c

&quot;Good, @decodedData = @originalData&quot;
-----Output-------------------------------
[/code]
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Hi dkumar,<br />
What tools did you use to get base64 encode of &#8220;h9l+€*c&#8221;,<br />
did you use UTF-8 encoding?<br />
You can try this tool to get the base64 encoded string.<br />
<a href="http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/Default.aspx" rel="nofollow">http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/Default.aspx</a></p>
<p>Run the follow SQL to see, a properly encoded string<br />
matches its original string after decoding.</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip">-- declare vars.
DECLARE @originalData varchar(max)
DECLARE @encodedData varchar(max)
DECLARE @decodedData varchar(max) 
DECLARE @xmlData XML

SET @originalData = 'h9l+€*c'

-- this is my base 64 encoded string with UTF-8
SET @encodedData = 'aDlsK4AqgWM=' 

-- construct an xml var.
SET @xmlData = CAST('<span class="sc3"><span class="re1">&lt;data<span class="re2">&gt;</span></span></span>' + @encodedData + '<span class="sc3"><span class="re1">&lt;/data<span class="re2">&gt;</span></span></span>' as xml)

-- base64 decode the @encodedData.
SELECT @decodedData = CONVERT(varchar(MAX),&nbsp; @xmlData.value('(data)[1]', 'varbinary(max)'))

-- generate the outputs
SELECT @decodedData as DecodedAs

IF @decodedData = @originalData
&nbsp; &nbsp; &nbsp; &nbsp; SELECT 'Good, @decodedData = @originalData'
ELSE 
&nbsp; &nbsp; &nbsp; &nbsp; SELECT 'Err, not the same.'

-----Output-------------------------------

DecodedAs
h9l+€*c

&quot;Good, @decodedData = @originalData&quot;
-----Output-------------------------------</div>
</div>
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: dkumar</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-1123</link>
		<dc:creator>dkumar</dc:creator>
		<pubDate>Tue, 24 Feb 2009 17:12:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-1123</guid>
		<description>Looks like this breaks for certain cases.
example 
original string &quot;h9l+€*c&quot;
base64encoded &quot;aDlsK+KCrCrCgWM=&quot;

DECLARE @xml xml
DECLARE @binary varbinary(max) 
SET @xml = CAST(&#039;&#039; AS xml) 
SET @binary = (SELECT @xml.value(&#039;(/row/@mystring)[1]&#039;,&#039;varbinary(max)&#039;)) 
SELECT CONVERT(varchar(max), @binary) 

returns &quot;h9l+â‚¬*Âc&quot; which is not the same as the original string.

Any idea.

Thanks in advance.</description>
		<content:encoded><![CDATA[<p>Looks like this breaks for certain cases.<br />
example<br />
original string &#8220;h9l+€*c&#8221;<br />
base64encoded &#8220;aDlsK+KCrCrCgWM=&#8221;</p>
<p>DECLARE @xml xml<br />
DECLARE @binary varbinary(max)<br />
SET @xml = CAST(&#8221; AS xml)<br />
SET @binary = (SELECT @xml.value(&#8216;(/row/@mystring)[1]&#8216;,&#8217;varbinary(max)&#8217;))<br />
SELECT CONVERT(varchar(max), @binary) </p>
<p>returns &#8220;h9l+â‚¬*Âc&#8221; which is not the same as the original string.</p>
<p>Any idea.</p>
<p>Thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-36</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Wed, 17 Sep 2008 13:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-36</guid>
		<description>Hi muti2,
The @data should be set as encoded, in which case, it is &lt;code&gt;JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs&lt;/code&gt;

The result I got is 
&lt;code&gt;&amp;#_1044; &amp;#_1086;&amp;#_1073; &amp;#_1088;&amp;#_1086;&lt;/code&gt; (replace &quot;_&quot; with &quot;&quot;) which is as same  as â€™Ð”Ð¾Ð±Ñ€Ð¾â€™ 

Try this,
&lt;pre&gt;
[code lang=&quot;sql&quot;]DECLARE @data nvarchar(max), @XmlData xml
SET @data = N&#039;JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs=&#039; 
SET @XmlData = CAST(&#039;&lt;data&gt;&#039; + @data + &#039;&lt;/data&gt;&#039; as xml)
SELECT CONVERT(varchar(max), @XmlData.value(&#039;(data)[1]&#039;, &#039;varbinary(max)&#039;))[/code]
&lt;/pre&gt;
</description>
		<content:encoded><![CDATA[<p>Hi muti2,<br />
The @data should be set as encoded, in which case, it is
<div class="codesnip-container" >JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs</div>
<p>The result I got is </p>
<div class="codesnip-container" >&#_1044; &#_1086;&#_1073; &#_1088;&#_1086;</div>
<p> (replace &#8220;_&#8221; with &#8220;&#8221;) which is as same  as â€™Ð”Ð¾Ð±Ñ€Ð¾â€™ </p>
<p>Try this,</p>
<pre>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw1">DECLARE</span> @data <span class="kw1">NVARCHAR</span><span class="br0">&#40;</span><span class="kw1">MAX</span><span class="br0">&#41;</span>, @XmlData <span class="kw1">XML</span>
<span class="kw1">SET</span> @data = N<span class="st0">'JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs='</span> 
<span class="kw1">SET</span> @XmlData = <span class="kw1">CAST</span><span class="br0">&#40;</span><span class="st0">'&lt;data&gt;'</span> + @data + <span class="st0">'&lt;/data&gt;'</span> <span class="kw1">AS</span> <span class="kw1">XML</span><span class="br0">&#41;</span>
<span class="kw1">SELECT</span> <span class="kw1">CONVERT</span><span class="br0">&#40;</span><span class="kw1">VARCHAR</span><span class="br0">&#40;</span><span class="kw1">MAX</span><span class="br0">&#41;</span>, @XmlData.<span class="kw1">VALUE</span><span class="br0">&#40;</span><span class="st0">'(data)[1]'</span>, <span class="st0">'varbinary(max)'</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</div>
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: muti2</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-34</link>
		<dc:creator>muti2</dc:creator>
		<pubDate>Mon, 08 Sep 2008 07:23:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-34</guid>
		<description>Unfortunatelly not. 
This code:
      DECLARE @data nvarchar(max), @XmlData xml

      SET @data = N&#039;Ð”Ð¾Ð±Ñ€Ð¾&#039;

      SET @XmlData = CAST(&#039;&#039; + @data + &#039;&#039; as xml)


      SELECT   CONVERT(nvarchar(max), @XmlData.value(&#039;(data)[1]&#039;, &#039;varbinary(max)&#039;))


returns NULL.
If i encode this with http://makcoder.sourceforge.net/demo/base64.php
then text is: JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs=</description>
		<content:encoded><![CDATA[<p>Unfortunatelly not.<br />
This code:<br />
      DECLARE @data nvarchar(max), @XmlData xml</p>
<p>      SET @data = N&#8217;Ð”Ð¾Ð±Ñ€Ð¾&#8217;</p>
<p>      SET @XmlData = CAST(&#8221; + @data + &#8221; as xml)</p>
<p>      SELECT   CONVERT(nvarchar(max), @XmlData.value(&#8216;(data)[1]&#8216;, &#8216;varbinary(max)&#8217;))</p>
<p>returns NULL.<br />
If i encode this with <a href="http://makcoder.sourceforge.net/demo/base64.php" rel="nofollow">http://makcoder.sourceforge.net/demo/base64.php</a><br />
then text is: JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs=</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-33</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Mon, 08 Sep 2008 02:55:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-33</guid>
		<description>nvarchar is fine.
DECLARE @data nvarchar(max)</description>
		<content:encoded><![CDATA[<p>nvarchar is fine.<br />
DECLARE @data nvarchar(max)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: muti2</title>
		<link>http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html/comment-page-1#comment-30</link>
		<dc:creator>muti2</dc:creator>
		<pubDate>Fri, 05 Sep 2008 13:29:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemeit.com/sql/sql-2005-base64-decode-query-syntax.html#comment-30</guid>
		<description>What if input is in nvarchar?</description>
		<content:encoded><![CDATA[<p>What if input is in nvarchar?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

