はじめに
Xcodeで開発している際、print
やNSLog
でログ出力をしたときに、下記のような文字化けに遭遇したことはありませんか?
{
"long_name" = "\U6e0b\U8c37";
"short_name" = "\U6e0b\U8c37";
}
こちらはUnicodeで出力されているようです。
今回はこちらをVisual Studio Code (VSCode) を使い、読める状態にしていきたいと思います。
前準備
- Visual Studio Code をインストールする
- Visual Studio CodeのExtensionでEncode Decode をインストールする
VSCodeを起動し、Shift+Cmd+X
もしくは View → Extensions
で Extensions: Marketplace のタブを開き、Encode Decode
と検索すると簡単にインストールできます。
手順
1. 文字化けしたログをコピーし、VSCodeへ貼り付ける
2. VSCodeの置換機能で\U
を\u
へ置換する
Cmd+Opt+F
もしくは Edit → Replace
を押してください。
置換する際は下記のように検索すると簡単です。
正規表現あり | 正規表現なし | |
---|---|---|
検索キーワード | \\U |
\U |
置換キーワード | \\u |
\u |
3. VSCodeの検索機能でUnicode部分を全選択する
Cmd+Opt
もしくは Edit → Find
を押してください。
正規表現をONにし、検索キーワードへ \\u.{4}
と入力します。
その後 Opt+Enter
を押すと、Unicodeの部分が全選択されます。
この際、カーソルが全てのUnicode部分にあることを確認してください。
これ移行の操作でずっと選択されている必要があるため、誤操作等で選択が解除されてしまった場合は、再度こちらを行い、Unicode部分を全選択してください。
4. コマンドパレットを表示する
F1
もしくは Shift+Cmd+P
もしくは View → Command Palette...
を押し、コマンドパレットを表示します。
5. Encode/Decodeを起動する
Encode/Decode: Convert Selection
を選択します。
途中まで文字を打つと簡単に見つかると思います。
6. Encode/DecodeでUnicodeをStringへ置換する
Unicode to String
を選択します。
こちらも途中まで文字を打つと簡単に見つかると思います。
7. 選択を解除する
選択解除せずに文字入力をしてしまうと、全ての文字が入力した文字に置換されてしまうので、必ず選択を解除しましょう。
最後に
今回はVSCodeを使って文字化けしたログを読めるようにする方法を紹介しました。
もっと簡単な方法があったり、VSCodeを使わなくても簡単にコンバートできる方法があったら、是非コメントで教えて下さい!