github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/strconv/quote.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:generate go run makeisprint.go -output isprint.go 6 7 package strconv 8 9 // Quoteは、sを表すダブルクォートで囲まれたGo文字列リテラルを返します。 10 // 返される文字列は、制御文字およびIsPrintによって定義された印刷不可能な文字のために、 11 // Goエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 12 func Quote(s string) string 13 14 // AppendQuoteは、sを表すダブルクォートで囲まれたGo文字列リテラル(Quoteによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 15 func AppendQuote(dst []byte, s string) []byte 16 17 // QuoteToASCIIは、sを表すダブルクォートで囲まれたGo文字列リテラルを返します。 18 // 返される文字列は、制御文字およびIsPrintによって定義された印刷不可能な文字のために、 19 // Goエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 20 func QuoteToASCII(s string) string 21 22 // AppendQuoteToASCIIは、sを表すダブルクォートで囲まれたGo文字列リテラル(QuoteToASCIIによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 23 func AppendQuoteToASCII(dst []byte, s string) []byte 24 25 // QuoteToGraphicは、sを表すダブルクォートで囲まれたGo文字列リテラルを返します。 26 // 返される文字列は、Unicodeのグラフィック文字(IsGraphicによって定義される)を変更せず、 27 // 非グラフィック文字に対してGoエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 28 func QuoteToGraphic(s string) string 29 30 // AppendQuoteToGraphicは、sを表すダブルクォートで囲まれたGo文字列リテラル(QuoteToGraphicによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 31 func AppendQuoteToGraphic(dst []byte, s string) []byte 32 33 // QuoteRuneは、runeを表すシングルクォートで囲まれたGo文字リテラルを返します。 34 // 返される文字列は、制御文字およびIsPrintによって定義された印刷不可能な文字のために、 35 // Goエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 36 // rが有効なUnicodeコードポイントでない場合、Unicode置換文字U+FFFDとして解釈されます。 37 func QuoteRune(r rune) string 38 39 // AppendQuoteRuneは、runeを表すシングルクォートで囲まれたGo文字リテラル(QuoteRuneによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 40 func AppendQuoteRune(dst []byte, r rune) []byte 41 42 // QuoteRuneToASCIIは、runeを表すシングルクォートで囲まれたGo文字リテラルを返します。 43 // 返される文字列は、制御文字およびIsPrintによって定義された印刷不可能な文字のために、 44 // Goエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 45 // rが有効なUnicodeコードポイントでない場合、Unicode置換文字U+FFFDとして解釈されます。 46 func QuoteRuneToASCII(r rune) string 47 48 // AppendQuoteRuneToASCIIは、runeを表すシングルクォートで囲まれたGo文字リテラル(QuoteRuneToASCIIによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 49 func AppendQuoteRuneToASCII(dst []byte, r rune) []byte 50 51 // QuoteRuneToGraphicは、runeを表すシングルクォートで囲まれたGo文字リテラルを返します。 52 // 返される文字列は、Unicodeのグラフィック文字(IsGraphicによって定義される)を変更せず、 53 // 非グラフィック文字に対してGoエスケープシーケンス(\t、\n、\xFF、\u0100)を使用します。 54 // rが有効なUnicodeコードポイントでない場合、Unicode置換文字U+FFFDとして解釈されます。 55 func QuoteRuneToGraphic(r rune) string 56 57 // AppendQuoteRuneToGraphicは、runeを表すシングルクォートで囲まれたGo文字リテラル(QuoteRuneToGraphicによって生成されたもの)をdstに追加し、拡張されたバッファを返します。 58 func AppendQuoteRuneToGraphic(dst []byte, r rune) []byte 59 60 // CanBackquoteは、タブ以外の制御文字を含まない単一行のバッククォート文字列として、文字列sを変更せずに表現できるかどうかを報告します。 61 func CanBackquote(s string) bool 62 63 // UnquoteCharは、文字列sによって表されるエスケープされた文字列または文字リテラルの最初の文字またはバイトをデコードします。 64 // 4つの値を返します。 65 // 66 // 1. value:デコードされたUnicodeコードポイントまたはバイト値 67 // 2. multibyte:デコードされた文字がマルチバイトUTF-8表現を必要とするかどうかを示すブール値 68 // 3. tail:文字の後の残りの文字列 69 // 4. エラー:文字が構文的に有効である場合はnilになります。 70 // 71 // 2番目の引数であるquoteは、解析されるリテラルの種類を指定し、許可されるエスケープされた引用符文字を決定します。 72 // シングルクォートに設定すると、\'のシーケンスを許可し、エスケープされていない'を許可しません。 73 // ダブルクォートに設定すると、\"を許可し、エスケープされていない"を許可しません。 74 // ゼロに設定すると、どちらのエスケープも許可せず、両方の引用符文字がエスケープされていない状態で現れることを許可します。 75 func UnquoteChar(s string, quote byte) (value rune, multibyte bool, tail string, err error) 76 77 // QuotedPrefixは、sのプレフィックスにある引用符で囲まれた文字列(Unquoteで理解される形式)を返します。 78 // sが有効な引用符で囲まれた文字列で始まらない場合、QuotedPrefixはエラーを返します。 79 func QuotedPrefix(s string) (string, error) 80 81 // Unquoteは、sを単一引用符、二重引用符、またはバッククォートで囲まれたGo文字列リテラルとして解釈し、sが引用する文字列値を返します。 82 // (sが単一引用符で囲まれている場合、それはGo文字リテラルであることに注意してください。Unquoteは対応する1文字の文字列を返します。) 83 func Unquote(s string) (string, error) 84 85 // IsPrintは、文字がGoによって印刷可能と定義されているかどうかを報告します。 86 // これは、unicode.IsPrintと同じ定義で、文字、数字、句読点、記号、ASCIIスペースを含みます。 87 func IsPrint(r rune) bool 88 89 // IsGraphicは、Unicodeによってグラフィックとして定義されたルーンかどうかを報告します。 90 // このような文字には、カテゴリL、M、N、P、S、およびZsからの文字、数字、句読点、記号、スペースが含まれます。 91 func IsGraphic(r rune) bool