diff options
Diffstat (limited to 'src/shared/Util.cpp')
-rw-r--r-- | src/shared/Util.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/Util.cpp b/src/shared/Util.cpp index 41ed9c0fa8b..ede7a27ea7b 100644 --- a/src/shared/Util.cpp +++ b/src/shared/Util.cpp @@ -502,3 +502,23 @@ void vutf8printf(FILE *out, const char *str, va_list* ap) vfprintf(out, str, *ap); #endif } + +void hexEncodeByteArray(uint8* bytes, uint32 arrayLen, std::string& result) +{ + std::ostringstream ss; + for(uint32 i=0; i<arrayLen; ++i) + { + for(uint8 j=0; j<2; ++j) + { + unsigned char nibble = 0x0F & (bytes[i]>>((1-j)*4)); + char encodedNibble; + if(nibble < 0x0A) + encodedNibble = '0'+nibble; + else + encodedNibble = 'A'+nibble-0x0A; + ss << encodedNibble; + } + } + result = ss.str(); +} + |