private string HexDumpB(ref string s, EHexDump ehdFmt = EHexDump.ehdOneColumn) { string functionReturnValue = null; functionReturnValue = clsSupport.bpeNullString; //UPGRADE_TODO: Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. Click for more: 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="vbup1059"' byte[] ab = System.Text.UnicodeEncoding.Unicode.GetBytes(s); functionReturnValue = HexDump(ref ab, ehdFmt); return(functionReturnValue); }
private string HexDump(ref byte[] ab, EHexDump ehdFmt = EHexDump.ehdOneColumn) { string functionReturnValue = null; string sDump = clsSupport.bpeNullString; string sAscii = clsSupport.bpeNullString; int iColumn = 0; int iCur = 0; string sCur = clsSupport.bpeNullString; string sLine = clsSupport.bpeNullString; int i = 0; functionReturnValue = clsSupport.bpeNullString; switch (ehdFmt) { case EHexDump.ehdOneColumn: case EHexDump.ehdSample8: iColumn = 8; break; case EHexDump.ehdTwoColumn: case EHexDump.ehdSample16: iColumn = 16; break; case EHexDump.ehdEndless: iColumn = 32767; break; } bool continueLoop = true; for (i = Information.LBound(ab); i <= Information.UBound(ab) && continueLoop; i++) { //Get current character iCur = ab[i]; sCur = Strings.Chr(iCur).ToString(); //Append its hex value sLine += Strings.Right("0" + Conversion.Hex(iCur), 2) + " "; //Append its ASCII value or dot if (ehdFmt <= EHexDump.ehdTwoColumn) { if (iCur >= 32 && iCur < 127) { sAscii = sAscii + sCur; } else { sAscii = sAscii + "."; } } //Append ASCII to dump and wrap every paragraph if ((i + 1) % 8 == 0) { sLine = sLine + " "; } if ((i + 1) % iColumn == 0) { if (ehdFmt >= EHexDump.ehdSample8) { sLine = sLine + "..."; continueLoop = false; } else { sLine = sLine + " " + sAscii + Constants.vbCrLf; sDump = sDump + sLine; sAscii = clsSupport.bpeNullString; sLine = clsSupport.bpeNullString; } } } if (ehdFmt <= EHexDump.ehdTwoColumn) { if (((i + 1) % iColumn) > 0) { if (ehdFmt > 0) { sLine = Strings.Left(sLine + Strings.Space(53), 53) + sAscii; } else { sLine = Strings.Left(sLine + Strings.Space(26), 26) + sAscii; } } sDump = sDump + sLine; } else { sDump = sLine; } functionReturnValue = sDump; return(functionReturnValue); }