質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

5740閲覧

NSUTF8StringEncoding←これは型なんでしょうか?

Blue0999

総合スコア148

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/03/22 02:00

編集2016/03/22 02:01

前からサンプルアプリを作っているとある型(?)が結構出てきて気になってはいたのですがスルーしていました。最近頻繁に出てくるのでいっその事質問させていただきます。
下記の記述のNSUTF8StringEncodingの部分です。

let value = NSString(data: data, encoding: NSUTF8StringEncoding)

前のコードでも似たような場所に書いてありました。これは何かのプロパティなのか…いや型の種類のような雰囲気が強いです。これの正体がわかる方教えてください!
またNSUTF8StringEncodingが型だった場合こののシリーズで他のものも教えていただけると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

エンコードとは、データを指定した形に「変換」する事を意味します。
今回の場合は、dataを文字列に「変換」するという事です。その際にUTF-8を使ってください、という指示出しをするために、NSUTF8StringEncodingを指定します。

また、enumの定数については、「列挙型」で検索をすると、いろいろ出てくるかと思います。

投稿2016/03/22 04:16

ItoTomonori

総合スコア1283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Blue0999

2016/03/22 04:18

詳しくご説明していただきありがとうございます。
guest

0

NSUTF8StringEncoding

とは、何でしょう?との質問の答えですと、

定数

です。UTF-8で、エンコードしましょう、という定義のための定数です。
これに関連したものとしては、

objective

1enum { 2 NSASCIIStringEncoding = 1, 3 NSNEXTSTEPStringEncoding = 2, 4 NSJapaneseEUCStringEncoding = 3, 5 NSUTF8StringEncoding = 4, 6 NSISOLatin1StringEncoding = 5, 7 NSSymbolStringEncoding = 6, 8 NSNonLossyASCIIStringEncoding = 7, 9 NSShiftJISStringEncoding = 8, 10 NSISOLatin2StringEncoding = 9, 11 NSUnicodeStringEncoding = 10, 12 NSWindowsCP1251StringEncoding = 11, 13 NSWindowsCP1252StringEncoding = 12, 14 NSWindowsCP1253StringEncoding = 13, 15 NSWindowsCP1254StringEncoding = 14, 16 NSWindowsCP1250StringEncoding = 15, 17 NSISO2022JPStringEncoding = 21, 18 NSMacOSRomanStringEncoding = 30, 19 NSUTF16StringEncoding = NSUnicodeStringEncoding, 20 NSUTF16BigEndianStringEncoding = 0x90000100, 21 NSUTF16LittleEndianStringEncoding = 0x94000100, 22 NSUTF32StringEncoding = 0x8c000100, 23 NSUTF32BigEndianStringEncoding = 0x98000100, 24 NSUTF32LittleEndianStringEncoding = 0x9c000100, 25 NSProprietaryStringEncoding = 65536 26}; 27typedef NSUInteger NSStringEncoding;

こんな感じになります。

要するに、文字コードを変換するとか、指定するなどの場合に必要な定数です。

NSString(data: data, encoding: NSUTF8StringEncoding)

なので、dataの内容を、UTF-8でエンコードしてくださいませ、という事を行っている事となります。

投稿2016/03/22 02:14

ItoTomonori

総合スコア1283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Blue0999

2016/03/22 04:05

ご回答ありがとうございます! 文字列コードを変換する際に使用するものなのですね。 教えてくださったenum内の定数には整数が代入されているように見えるのですが、これはどういった意味なのでしょうか? またエンコードの意味も教えていただけると嬉しいです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問