-
Notifications
You must be signed in to change notification settings - Fork 180
Description
I was looking for a not %02x
way of converting binary to hex String
, and I stumbled upon the implementation in PrettyBytes.swift
.
swift-crypto/Sources/Crypto/Util/PrettyBytes.swift
Lines 45 to 51 in 9cc89f0
self.regions.forEach { (_) in | |
for i in self { | |
hexChars[Int(offset * 2)] = itoh((i >> 4) & 0xF) | |
hexChars[Int(offset * 2 + 1)] = itoh(i & 0xF) | |
offset += 1 | |
} | |
} |
I'm not 100% sure about the Sequence
conformance of non-contiguous DataProtocol
, but it seemed to me that the self
on line 46 should be the ignored parameter $0
(or maybe eliminate the region logic since looping over self
most likely would have taken non-contiguous memory regions into account?), otherwise the code reads:
For each segment of the data buffer, loop over the entirety of data buffer and convert each byte to two hex chars.
Unless non-contiguous DataProtocol
has non-stable indices and iterators, this code will over/re-iterate the data buffer.