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