Hello all,
This is probably one of those things that only one of you (if that)
will ever use. If you ever need to be able to get the text from a
binary string in the registry, this will do it.
Registry Hex to Text Converter
Converts a registry hex-encoded binary value to text.
If the hex string is not passed on the command, the clipboard will be
parsed by default.
Usage:
rh2t [![string]]|[hex]
Switches:
! - Reverse action: convert the value, either from the clipboard or
following the !, to a registry-compatible (reg4) hex-encoded binary
value
Example:
rh2t
rh2t 64,71,73,64,20,72,6F,63,6B,73,21
rh2t !DQSD Rocks
rh2t !
Regards,
Shawn K. Hall
http://ReliableAnswers.com/
'// ========================================================
"Anything I've ever done that ultimately was
worthwhile...initially scared me to death."
-- Betty Bender
<search function="rh2t">
<name>Registry Hex to Text Converter</name>
<description>
Converts a registry hex-encoded binary value to text.
If the hex string is not passed on the command, the
clipboard will be parsed by default.<br />
<div class="helpboxDescLabels">Usage:</div>
<table class="helpboxDescTable">
<tr><td>rh2t <strong>[![string]]|[hex]</strong></td></tr>
</table>
<div class="helpboxDescLabels">Switches:</div>
<table class="helpboxDescTable">
<tr><td>!</td><td>Reverse action - convert the value, either from the clipboard or following the !, to a registry-compatible hex-encoded binary value</td></tr>
</table>
<div class="helpboxDescLabels">Example:</div>
<table class="helpboxDescTable">
<tr><td>rh2t</td></tr>
<tr><td>rh2t 64,71,73,64,20,72,6F,63,6B,73,21</td></tr>
<tr><td>rh2t !DQSD Rocks</td></tr>
<tr><td>rh2t !</td></tr>
</table>
</description>
<category>Functions</category>
<link>http://www.ReliableAnswers.com/</link>
<contributor>Shawn K. Hall</contributor>
<form name="rh2tf"
action="http://reliableanswers.com/x/"
method="post">
<textarea style="display: none;" name="q"></textarea>
<textarea style="display: none;" name="vbscode"><![CDATA[
Dim q, qsHex
q = document.rh2tf.q.value & ""
If Trim( q ) = "" Then
qsHex = ClipBoardGetText()
Call ClipBoardSetText( JoinHex( qsHex ) )
Else
If Left(q, 1) = "!" Then
If q = "!" Then
qsHex = ClipBoardGetText()
Call ClipBoardSetText( SplitHex( qsHex ) )
Else
qsHex = SplitHex( Right(q, Len(q)-1) )
document.deff.q.value = qsHex
End If
Else
qsHex = JoinHex( q )
document.deff.q.value = qsHex
End If
End If
Function JoinHex( sVals )
Dim lIter, sBuild, aHex
sBuild = sVals
sBuild = Replace(sBuild, " ", "")
sBuild = Replace(sBuild, "\", "")
sBuild = Replace(sBuild, vbCrLf, "")
aHex = Split(sBuild, ",")
For lIter = LBound(aHex) To UBound(aHex)
If aHex(lIter) = "00" Then
aHex(lIter) = "-"
Else
aHex(lIter) = Chr(CInt("&h" & aHex(lIter)))
End If
Next
JoinHex = Join(aHex, "")
End Function
Function SplitHex( sString )
Dim lIter, sBuild, sChar, aHex
aHex = Split(Space(Len(sString)-1), " ")
For lIter = LBound(aHex) To UBound(aHex)
aHex(lIter) = Right("00" & Hex(Asc(NewMid(sString, lIter, 1))), 2)
Next
SplitHex = Join(aHex, ",")
End Function
Function NewMid(sString, lStart, lLength)
Dim s, l
On Error Resume Next
l = Len(sString) - lStart
If l > 0 Then
s = Right(sString, l)
If lLength > Len(s) Then
s = Left(s, lLength)
End If
Else
s = ""
End If
NewMid = s
End Function
Function ClipBoardSetText( sText )
ClipBoardSetText = window.clipboardData.SetData( "Text", sText )
End Function
Function ClipBoardGetText()
ClipBoardGetText = window.clipboardData.GetData( "Text" )
End Function
]]></textarea>
</form>
<script><![CDATA[
function rh2t (q)
{
document.rh2tf.q.value = q;
//get the vbs code
var rh2tt = "";
rh2tt = document.rh2tf.vbscode.value;
//remove CDATA prefix and trailer
rh2tt = rh2tt.replace( /(\<\!\[CDATA\[)/g, '' ).replace( /(\]\]\>)/g, '' );
//trim it
rh2tt = rh2tt.replace(/^\s+/g, '' ).replace(/\s+$/g, '' );
//run the script
window.execScript( rh2tt, "vbscript" );
//return
return ( true );
}
]]></script>
<copyright>
Copyright (c) 2002 David Bau
Distributed under the terms of the
GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
</copyright>
</search>