diff --git a/simplejson/encoder.py b/simplejson/encoder.py
index 979b862b87d216baec213b24b97029f0c26e8c90_c2ltcGxlanNvbi9lbmNvZGVyLnB5..f625396d13bc5b65505300b6016d3c7886cd7ee9_c2ltcGxlanNvbi9lbmNvZGVyLnB5 100644
--- a/simplejson/encoder.py
+++ b/simplejson/encoder.py
@@ -16,7 +16,7 @@
     '\r': '\\r',
     '\t': '\\t',
 }
-for i in range(20):
+for i in range(0x20):
     ESCAPE_DCT.setdefault(chr(i), '\\u%04x' % (i,))
 
 def floatstr(o, allow_nan=True):
@@ -28,6 +28,9 @@
 
     if o != o:
         text = 'NaN'
+    elif o == 1.0:
+        assert o != INFINITY
+        return '1.0'
     elif o == INFINITY:
         text = 'Infinity'
     elif o == -INFINITY: