encoding
が .utf8
で失敗することってあるんでしょうか?おそらく、表現できない文字が含まれていたときに nil
になるんでしょうが、 Swift の String
の文字列の内部表現が UTF-16 なので、 encoding
が .utf8
なら Unicode のコードポイントの表現の変換だけだから失敗することがないように思います。 https://developer.apple.com/documentation/swift/stringprotocol/2923420-dataString
は内部表現が UTF-16 だけど、 StringProtocol
はその限りではないか。String
の data(...)
を呼ぶとして、 .utf8
で失敗し得るか。今、 !
を付けたい。 (edited)