On Sunday, 15 March 2015 at 21:41:06 UTC, bearophile wrote:
Walter Bright:

Unfortunately, it needs to be a dropin replacement for x"...", which returns a string/wstring/dstring.

This is bad. 99% of the times you don't want a string/wstring/dstring out of a hex string:

https://issues.dlang.org/show_bug.cgi?id=10454
https://issues.dlang.org/show_bug.cgi?id=5909

Bye,
bearophile

this is the API that's about to be proposed, it named as suggested by A.A., and it handles the two issues you point out:

---
public string hexString(string hexData, bool putWhites = false)()
public string hexString(dstring hexData, bool putWhites = false)()
public string hexString(wstring hexData, bool putWhites = false)()

public ubyte[] hexBytes(string hexData)()
public ubyte[] hexBytes(dstring hexData)()
public ubyte[] hexBytes(wstring hexData)()
---

additionally to x string, a template parameter allows to put raw whites, e.g

---
assert(hexString!("30 30", true) == "0 1");
assert(hexString!("30 31") == "01"); // standard x string
---

Reply via email to