X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/encoding/json
opt
/
golang
/
1.22.0
/
src
/
encoding
/
json
/
📁
..
📄
bench_test.go
(12.3 KB)
📄
decode.go
(35.01 KB)
📄
decode_test.go
(67.59 KB)
📄
encode.go
(35.96 KB)
📄
encode_test.go
(29.37 KB)
📄
example_marshaling_test.go
(1.23 KB)
📄
example_test.go
(6.05 KB)
📄
example_text_marshaling_test.go
(1.23 KB)
📄
fold.go
(1.06 KB)
📄
fold_test.go
(1.32 KB)
📄
fuzz_test.go
(1.29 KB)
📄
indent.go
(5.36 KB)
📄
number_test.go
(1.84 KB)
📄
scanner.go
(16.14 KB)
📄
scanner_test.go
(6.89 KB)
📄
stream.go
(12.87 KB)
📄
stream_test.go
(12.93 KB)
📄
tables.go
(4.16 KB)
📄
tagkey_test.go
(2.9 KB)
📄
tags.go
(972 B)
📄
tags_test.go
(583 B)
📁
testdata
Editing: fold.go
// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package json import ( "unicode" "unicode/utf8" ) // foldName returns a folded string such that foldName(x) == foldName(y) // is identical to bytes.EqualFold(x, y). func foldName(in []byte) []byte { // This is inlinable to take advantage of "function outlining". var arr [32]byte // large enough for most JSON names return appendFoldedName(arr[:0], in) } func appendFoldedName(out, in []byte) []byte { for i := 0; i < len(in); { // Handle single-byte ASCII. if c := in[i]; c < utf8.RuneSelf { if 'a' <= c && c <= 'z' { c -= 'a' - 'A' } out = append(out, c) i++ continue } // Handle multi-byte Unicode. r, n := utf8.DecodeRune(in[i:]) out = utf8.AppendRune(out, foldRune(r)) i += n } return out } // foldRune is returns the smallest rune for all runes in the same fold set. func foldRune(r rune) rune { for { r2 := unicode.SimpleFold(r) if r2 <= r { return r2 } r = r2 } }
Upload File
Create Folder