Bob Ippolito added the comment:

Yeah, that's the hack I was suggesting.

I suppose I don't see the point of having a protocol that normalizes *almost* 
everything. Normalization should be all or nothing. Other options would be to 
define the signature at the encoded byte level with no normalization (in which 
case you could use any off the shelf signing), or at the value level and 
prescribe a specific interpretation for data types. I would've done it at the 
value level and prescribed that dictionaries should be key sorted, strings 
dealt with as UTF-8, and numbers as IEEE 754. I would make sure not to depend 
on the decimal conversion of numbers, and just work with the serialized bit 
representation in a particular endian (which you can even do efficiently in 
modern browser JS with Float64Array, DataView and ArrayBuffer). For JS 
portability it'd probably treat *all* numbers as floats in the same way, 
whether they had a decimal to begin with or not.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23123>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to