hex_to_str
This commit is contained in:
@@ -55,13 +55,13 @@ void StringBuilder_append_f64(StringBuilder* b, f64 n){
|
||||
StringBuilder_append_cstr(b, buf);
|
||||
}
|
||||
|
||||
void StringBuilder_append_memory(StringBuilder* b, Array mem) {
|
||||
void StringBuilder_append_memory(StringBuilder* b, Array mem, bool uppercase) {
|
||||
if(mem.data == NULL)
|
||||
return;
|
||||
|
||||
char buf[8];
|
||||
for (u32 i=0; i < mem.size; i++) {
|
||||
sprintf(buf, "%02x", ((u8*)mem.data)[i]);
|
||||
sprintf(buf, uppercase ? "%02X" : "%02x", ((u8*)mem.data)[i]);
|
||||
StringBuilder_append_str(b, str_construct(buf, 2, true));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "string/str.h"
|
||||
#include "string/StringBuilder.h"
|
||||
|
||||
str str_copy(str src){
|
||||
if(src.data == NULL || src.size == 0)
|
||||
@@ -123,3 +124,9 @@ str str_toLower(str src){
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
str hex_to_str(Array buf, bool uppercase){
|
||||
StringBuilder sb = StringBuilder_alloc(buf.size * 2 + 1);
|
||||
StringBuilder_append_memory(&sb, buf, uppercase);
|
||||
return StringBuilder_getStr(&sb);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user