add safeSet from encoding/json/tables.go #1
Merged
andrey
merged 1 commits from safe
into master
11 months ago
1 changed files with 115 additions and 0 deletions
@ -0,0 +1,115 @@ |
|||||
|
package json |
||||
|
|
||||
|
import "unicode/utf8" |
||||
|
|
||||
|
// Copied from encoding/json/tables.go.
|
||||
|
//
|
||||
|
// safeSet holds the value true if the ASCII character with the given array
|
||||
|
// position can be represented inside a JSON string without any further
|
||||
|
// escaping.
|
||||
|
//
|
||||
|
// All values are true except for the ASCII control characters (0-31), the
|
||||
|
// double quote ("), and the backslash character ("\").
|
||||
|
var safeSet = [utf8.RuneSelf]bool{ |
||||
|
' ': true, |
||||
|
'!': true, |
||||
|
'"': false, |
||||
|
'#': true, |
||||
|
'$': true, |
||||
|
'%': true, |
||||
|
'&': true, |
||||
|
'\'': true, |
||||
|
'(': true, |
||||
|
')': true, |
||||
|
'*': true, |
||||
|
'+': true, |
||||
|
',': true, |
||||
|
'-': true, |
||||
|
'.': true, |
||||
|
'/': true, |
||||
|
'0': true, |
||||
|
'1': true, |
||||
|
'2': true, |
||||
|
'3': true, |
||||
|
'4': true, |
||||
|
'5': true, |
||||
|
'6': true, |
||||
|
'7': true, |
||||
|
'8': true, |
||||
|
'9': true, |
||||
|
':': true, |
||||
|
';': true, |
||||
|
'<': true, |
||||
|
'=': true, |
||||
|
'>': true, |
||||
|
'?': true, |
||||
|
'@': true, |
||||
|
'A': true, |
||||
|
'B': true, |
||||
|
'C': true, |
||||
|
'D': true, |
||||
|
'E': true, |
||||
|
'F': true, |
||||
|
'G': true, |
||||
|
'H': true, |
||||
|
'I': true, |
||||
|
'J': true, |
||||
|
'K': true, |
||||
|
'L': true, |
||||
|
'M': true, |
||||
|
'N': true, |
||||
|
'O': true, |
||||
|
'P': true, |
||||
|
'Q': true, |
||||
|
'R': true, |
||||
|
'S': true, |
||||
|
'T': true, |
||||
|
'U': true, |
||||
|
'V': true, |
||||
|
'W': true, |
||||
|
'X': true, |
||||
|
'Y': true, |
||||
|
'Z': true, |
||||
|
'[': true, |
||||
|
'\\': false, |
||||
|
']': true, |
||||
|
'^': true, |
||||
|
'_': true, |
||||
|
'`': true, |
||||
|
'a': true, |
||||
|
'b': true, |
||||
|
'c': true, |
||||
|
'd': true, |
||||
|
'e': true, |
||||
|
'f': true, |
||||
|
'g': true, |
||||
|
'h': true, |
||||
|
'i': true, |
||||
|
'j': true, |
||||
|
'k': true, |
||||
|
'l': true, |
||||
|
'm': true, |
||||
|
'n': true, |
||||
|
'o': true, |
||||
|
'p': true, |
||||
|
'q': true, |
||||
|
'r': true, |
||||
|
's': true, |
||||
|
't': true, |
||||
|
'u': true, |
||||
|
'v': true, |
||||
|
'w': true, |
||||
|
'x': true, |
||||
|
'y': true, |
||||
|
'z': true, |
||||
|
'{': true, |
||||
|
'|': true, |
||||
|
'}': true, |
||||
|
'~': true, |
||||
|
'\u007f': true, |
||||
|
} |
||||
|
|
||||
|
// CanSafeSet check can be represented inside a JSON string without any further escaping.
|
||||
|
func CanSafeSet(r rune) bool { |
||||
|
return safeSet[r] |
||||
|
} |
Loading…
Reference in new issue