Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
楽しい文字コード入門 知っておきたいUnicode Emoji編
Search
Shunsuke Tadokoro
September 29, 2016
Programming
14
2.8k
楽しい文字コード入門 知っておきたいUnicode Emoji編
Bizreach Tech Beer Bashでの発表資料です
Shunsuke Tadokoro
September 29, 2016
Tweet
Share
More Decks by Shunsuke Tadokoro
See All by Shunsuke Tadokoro
ある日「Webエンジニアなら、Webサーバーは作れますよね」と言われたら? ~ 3つのJVM言語で作って学ぶ
todokr
2
540
Onboarding Process for Scala Team
todokr
0
1.9k
Running Scala on AWS Lambda in a Snappy Way
todokr
7
4.6k
Scalaでつくる ちょっとしたCLIツール
todokr
0
1k
新しいプログラミング言語の学び方 HTTPサーバーを作って学ぶ Java, Scala, Clojure
todokr
28
20k
わかる!Java to Clojure
todokr
6
1.8k
Scala絵文字ライブラリに Macroなどを導入してみた
todokr
0
1.4k
Clojureに入門してHTTPサーバーをつくってみた話
todokr
3
1.1k
emojiconに行ってきました
todokr
2
790
Other Decks in Programming
See All in Programming
ThorVG Viewer In VS Code
nors
0
460
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
Patterns of Patterns
denyspoltorak
0
390
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.1k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
170
gunshi
kazupon
1
130
Implementation Patterns
denyspoltorak
0
140
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
220
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
290
GoLab2025 Recap
kuro_kurorrr
0
790
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
440
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
94
Balancing Empowerment & Direction
lara
5
830
How to Ace a Technical Interview
jacobian
281
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
62
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
380
Utilizing Notion as your number one productivity tool
mfonobong
2
190
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
80
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
CUCC ฏੜ·Εͷ จࣈίʔυೖ #J[SFBDI5FDI#FFS#BTI !UPEPLS ͓͖͍ͬͯͨ 6OJDPEF&NPKJฤ ָ͍͠ʂ
CUCC
CUCC ୭ͩ
CUCC ాॴ ॣ༎ !UPEPLS ⦁גࣜձࣾϏζϦʔν ελϯόΠࣄۀ෦ αʔνίΞάϧʔϓ ⦁৽ถ4DBMBΤϯδχΞ ⦁8FCΫϩʔϥʔͷ։ൃɾӡ༻ ⦁݄ೖࣾ
৽ଔ ⦁ฏੜ·Ε ࡀ
CUCC ͓͢͠Δ͜ͱ • จࣈίʔυʁ • 6OJDPEF&NPKJͱͦͷྺ࢙ • ࡢࠓͷ&NPKJࣄ • ϓϩάϥϜ͔Βѻ͏
CUCC αʔνίΞάϧʔϓ ٻਓαΠτΫϩʔϥʔͷ։ൃͱӡ༻ ΫϩʔϦϯάͱจࣈίʔυ Ϋϩʔϥʔ ٻਓαΠτ ٻ৬ऀ ΫϩʔϦϯά ΠϯσΩγϯά ٻਓݕࡧ
CUCC Ṗͷ63-Τϯίʔυࣄ݅ • ҬີணܕͷΞϧόΠτٻਓαΠτ • αΠτΛΫϩʔϦϯάதɺ ಥΫϩʔϥʔ͕ྫ֎Λు͍ͯࢮ • αΠτͷϨεϙϯεϔομΛ֬ೝ Content-Type:text/html;
charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89
CUCC Ṗͷ63-Τϯίʔυࣄ݅ • ҬີணܕͷΞϧόΠτٻਓαΠτ • αΠτΛΫϩʔϦϯάதɺ ಥΫϩʔϥʔ͕ྫ֎Λు͍ͯࢮ • αΠτͷϨεϙϯεϔομΛ֬ೝ Content-Type:text/html;
charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89
CUCC Ṗͷ63-Τϯίʔυࣄ݅ • ҬີணܕͷΞϧόΠτٻਓαΠτ • αΠτΛΫϩʔϦϯάதɺ ಥΫϩʔϥʔ͕ྫ֎Λు͍ͯࢮ • αΠτͷϨεϙϯεϔομΛ֬ೝ Content-Type:text/html;
charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 ʊਓਓਓਓਓʊ ʼ ո͍͠ ʻ ʉ:?:?:?:ʉ
CUCC Ṗͷ63-Τϯίʔυࣄ݅ Content-Type:text/html; charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 ڪΔڪΔ63-σίʔυ DIBSTFUจࣈίʔυ
CUCC Ṗͷ63-Τϯίʔυࣄ݅ Content-Type:text/html; charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 ڪΔڪΔ63-σίʔυ DIBSTFUจࣈίʔυ
CUCC Ṗͷ63-Τϯίʔυࣄ݅ Content-Type:text/html; charset=%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 ʊਓਓਓਓਓਓਓʊ ʼ จࣈίʔυ ʻ ʉ:?:?:?:?:ʉ ڪΔڪΔ63-σίʔυ
DIBSTFUจࣈίʔυ
CUCC ͦͷଞʹ • ᶃ᷂ͳͲͷจࣈԽ͚ରࡦ • จࣈίʔυࣗಈผ ˠdϲ݄ؒɺจࣈίʔυͱ֨ಆ
CUCC จࣈίʔυ
CUCC จࣈίʔυʁ ʮจࣈίʔυʯ͕ԿΛࢦ͔͢จ຺ʹΑΔͨΊɺ ਖ਼͍͠ཧղͷͨΊʹԼهͷͭΛ۠ผ͢Δඞཁ͕͋Δɻ • ූ߸Խจࣈू߹ $PEFE$IBSBDUFS4FUʢ$$4ʣ "4$** +*49 6OJDPEF
FUD • จࣈූ߸Խํࣜ $IBSBDUFS&ODPEJOH4DIFNFʢ$&4ʣ 4IJGU@+*4 &6$+1 65' FUD
CUCC จࣈίʔυʁ ʮจࣈίʔυʯ͕ԿΛࢦ͔͢จ຺ʹΑΔͨΊɺ ਖ਼͍͠ཧղͷͨΊʹԼهͷͭΛ۠ผ͢Δඞཁ͕͋Δɻ • ූ߸Խจࣈू߹ $PEFE$IBSBDUFS4FUʢ$$4ʣ "4$** +*49 6OJDPEF
FUD • จࣈූ߸Խํࣜ $IBSBDUFS&ODPEJOH4DIFNFʢ$&4ʣ 4IJGU@+*4 &6$+1 65' FUD
CUCC จࣈίʔυʁ ʮจࣈίʔυʯ͕ԿΛࢦ͔͢จ຺ʹΑΔͨΊɺ ਖ਼͍͠ཧղͷͨΊʹԼهͷͭΛ۠ผ͢Δඞཁ͕͋Δɻ • ූ߸Խจࣈू߹ $PEFE$IBSBDUFS4FUʢ$$4ʣ "4$** +*49 6OJDPEF
FUD • จࣈූ߸Խํࣜ $IBSBDUFS&ODPEJOH4DIFNFʢ$&4ʣ 4IJGU@+*4 &6$+1 65' FUD
CUCC ৄ͘͠ IUUQTTQFBLFSEFDLDPNUPEPLSKJTLBSBQPSVXFO[JLPEPSVNFO
CUCC 6OJDPEF&NPKJͱͦͷྺ࢙
CUCC
CUCC
CUCC
CUCC
CUCC ถ ߹ऺࠃ ݄ Ұൠڭॻԋઆ ࠃͷݱঢ়ʹ͍ͭͯͷେ౷ྖͷݟղΛड़ɺओཁͳ࣏՝Λઆ໌͢Δԋઆ IUUQTVQMPBEXJLJNFEJBPSHXJLJQFEJBDPNNPOTDDG1SFTJEFOU@0CBNB@EFMJWFST@UIF@4UBUF@PG@UIF@6OJPO@BEESFTT@+BO@ @KQH
CUCC IUUQTXXXUIFHVBSEJBODPNVTOFXTOHJOUFSBDUJWFKBOTQTUBUFPGUIFVOJPOBEESFTTPCBNBFNPKJ ߹ऺࠃएऀ͚ʹશจΛ༁
CUCC IUUQTXXXUIFHVBSEJBODPNVTOFXTOHJOUFSBDUJWFKBOTQTUBUFPGUIFVOJPOBEESFTTPCBNBFNPKJ
CUCC 5IBOLZPV (PECMFTTZPV (PECMFTTUIJTDPVOUSZXFMPWF "QQMBVTF ͋Γ͕ͱ͏ɺօ͞Μʹਆͷ͝Ճޢ͕͋Γ·͢Α͏ʹɺ զʑ͕Ѫ͢Δ͜ͷࠃʹਆͷ͝Ճޢ͕͋Γ·͢Α͏ʹɻ ʢେͳഥखʣ IUUQTXXXUIFHVBSEJBODPNVTOFXTOHJOUFSBDUJWFKBOTQTUBUFPGUIFVOJPOBEESFTTPCBNBFNPKJ
CUCC ӳ ΦοΫεϑΥʔυࣙॻ ͷʮ8PSEPGUIF:FBSʯ
CUCC ӳ ΦοΫεϑΥʔυࣙॻ ͷʮ8PSEPGUIF:FBSʯ IUUQCMPHPYGPSEEJDUJPOBSJFTDPNXPSEPGUIFZFBSFNPKJ
CUCC ӳ ΦοΫεϑΥʔυࣙॻ ͷʮ8PSEPGUIF:FBSʯ IUUQMELKFTIUUPETWLXQFOHJOFOFUEOBDEODPNXQDPOUFOUVQMPBETFNPKJGSFRVFODZQOH
CUCC ӳ ΦοΫεϑΥʔυࣙॻ ͷʮ8PSEPGUIF:FBSʯ IUUQMELKFTIUUPETWLXQFOHJOFOFUEOBDEODPNXQDPOUFOUVQMPBETFNPKJGSFRVFODZQOH ΈΜͳ&NPKJେ͖
CUCC IUUQXXXFNPKJUSBDLFSDPN
CUCC 6OJDPEF&NPKJ • 6OJDPEFʢ݄ʣʹॳऩ • ʮέʔλΠֆจࣈʯͷ૬ޓӡ༻ੑ֬อ͕త • ༷653ʹ
CUCC &NPKJऩ·Ͱͷឯ༨ۂં ݄͔Βཌ݄ʹ͔͚ͯ 6OJDPEFͷϝʔϦϯάϦετͰܹ͕ຄൃ
CUCC &NPKJऩ·Ͱͷឯ༨ۂં ݄͔Βཌ݄ʹ͔͚ͯ 6OJDPEFͷϝʔϦϯάϦετͰܹ͕ຄൃ
CUCC 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+
CUCC 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+
CUCC &NPKJͳΜͯͷΞϗ͍͘͞ྲྀߦͩͱࢥ͏ɻ 6OJDPEFʹؚΊΔͷ͕ྑ͍ͱࢥΘͳ͍ɻ 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+
CUCC &NPKJͳΜͯͷΞϗ͍͘͞ྲྀߦͩͱࢥ͏ɻ 6OJDPEFʹؚΊΔͷ͕ྑ͍ͱࢥΘͳ͍ɻ 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू .BSL%BWJT 6OJDPEFίϯιʔγΞϜཧࣄʹͯ͠&NPKJऩͷఏҊऀ IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+
CUCC &NPKJͳΜͯͷΞϗ͍͘͞ྲྀߦͩͱࢥ͏ɻ 6OJDPEFʹؚΊΔͷ͕ྑ͍ͱࢥΘͳ͍ɻ 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू .BSL%BWJT 6OJDPEFίϯιʔγΞϜཧࣄʹͯ͠&NPKJऩͷఏҊऀ զʑԿճٞͨ͠͡Όͳ͍͔ɻ ͯ͞ډΓΛ͍ͯͨ͠ͳ IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+
CUCC &NPKJͳΜͯͷΞϗ͍͘͞ྲྀߦͩͱࢥ͏ɻ 6OJDPEFʹؚΊΔͷ͕ྑ͍ͱࢥΘͳ͍ɻ 3JDL.D(PXBO 6OJDPEFίϯιʔγΞϜઃ͔࣌Βͷϝϯόʔɻ࣌ͷઐݹจࣈͷऩू ݹจࣈΑΓधཁ͕͋Δɻ զʑԿճٞͨ͠͡Όͳ͍͔ɻ ͯ͞ډΓΛ͍ͯͨ͠ͳ IUUQTHSPVQTHPPHMFDPNGPSVNNTHFNPKJVOJDPEFO:QXB-5UHLO/RQX+L:9P+ .BSL%BWJT
6OJDPEFίϯιʔγΞϜཧࣄʹͯ͠&NPKJऩͷఏҊऀ
CUCC ͦͷଞʹ • ʮֆจࣈͷొɺύϯυϥͷശΛ։͚Δ͜ͱʹͳΔʯ • ʮ͖ΘΊͯڧ͘ຊͷจԽʹґଘ͓ͯ͠ΓɺຊਓҎ֎ʹ ཧղ͕͍͠ʯ • ʮ&NPKJจষྗ͕ශऑͰ ײΛจࣈͰදݱͰ͖ͳ͍ਓͷͨΊͷͷͩʯ
CUCC ͦͷଞʹ • ʮֆจࣈͷొɺύϯυϥͷശΛ։͚Δ͜ͱʹͳΔʯ • ʮ͖ΘΊͯڧ͘ຊͷจԽʹґଘ͓ͯ͠ΓɺຊਓҎ֎ʹ ཧղ͕͍͠ʯ • ʮ&NPKJจষྗ͕ශऑͰ ײΛจࣈͰදݱͰ͖ͳ͍ਓͷͨΊͷͷͩʯ
CUCC ͦͷଞʹ • ʮֆจࣈͷొɺύϯυϥͷശΛ։͚Δ͜ͱʹͳΔʯ • ʮ͖ΘΊͯڧ͘ຊͷจԽʹґଘ͓ͯ͠ΓɺຊਓҎ֎ʹ ཧղ͕͍͠ʯ • ʮ&NPKJจষྗ͕ශऑͰ ײΛจࣈͰදݱͰ͖ͳ͍ਓͷͨΊͷͷͩʯ
CUCC ͦͷଞʹ • ʮֆจࣈͷొɺύϯυϥͷശΛ։͚Δ͜ͱʹͳΔʯ • ʮ͖ΘΊͯڧ͘ຊͷจԽʹґଘ͓ͯ͠ΓɺຊਓҎ֎ʹ ཧղ͕͍͠ʯ • ʮ&NPKJจষྗ͕ශऑͰ ײΛจࣈͰදݱͰ͖ͳ͍ਓͷͨΊͷͷͩʯ
CUCC ͦͷଞʹ • ʮֆจࣈͷొɺύϯυϥͷശΛ։͚Δ͜ͱʹͳΔʯ • ʮ͖ΘΊͯڧ͘ຊͷจԽʹґଘ͓ͯ͠ΓɺຊਓҎ֎ʹ ཧղ͕͍͠ʯ • ʮ&NPKJจষྗ͕ශऑͰ ײΛจࣈͰදݱͰ͖ͳ͍ਓͷͨΊͷͷͩʯ
CUCC ࡢࠓͷ&NPKJࣄ
CUCC ࡢࠓͷ&NPKJࣄ • &NPKJ.PEJGJFST • ;8+4FRVFODF
CUCC ʮͳΜͰࠇਓͷ&NPKJ͕ͳ͍ͷ ʯ ͖͔͚ͬϚΠϦʔɾαΠϥεͷπΠʔτ ͱݴΘΕ͍ͯΔ
CUCC U+1F3FE
CUCC U+1F3FE
CUCC U+1F3FE
CUCC &NPKJ.PEJGJFST • ͷ6OJDPEFͰՃ • ίʔυϙΠϯτ6 ''#d6 ''' IUUQVOJDPEFPSHSFQPSUTUS&
[email protected]
@5BCMF
CUCC
CUCC
CUCC
CUCC
CUCC 6 %;&308*%5)+0*/&3 • ;8+;FSP8JEUI+PJOFS • ίʔυϙΠϯτ6 % • จࣈಉ࢜Λ͚ͬͭ͘ΔʮணࡎʯͷΑ͏ͳͷ
IUUQTXXXZPVUVCFDPNXBUDI WPO[%5Q3KLYT
CUCC ;8+4FRVFODFT IUUQXXXVOJDPEFPSHFNPKJDIBSUTFNPKJ[XKTFRVFODFTIUNM
CUCC ;8+4FRVFODFT IUUQXXXVOJDPEFPSHFNPKJDIBSUTFNPKJ[XKTFRVFODFTIUNM
CUCC ;8+4FRVFODFT ;&308*%5)+0*/&3 IUUQXXXVOJDPEFPSHFNPKJDIBSUTFNPKJ[XKTFRVFODFTIUNM
CUCC ;8+4FRVFODFT OFVUSBMͳGBNJMZ
CUCC ;8+4FRVFODFT
CUCC ;8+4FRVFODFT
CUCC ;8+4FRVFODFT
CUCC ;8+4FRVFODFT 6 %;&308*%5)+0*/&3
CUCC ;8+4FRVFODFT 6 '."/
CUCC ;8+4FRVFODFT 6 '80."/
CUCC ;8+4FRVFODFT 6 '#0:
CUCC ϓϩάϥϜ͔Βѻ͏
CUCC 6OJDPEFͷߏ ۠ɺɺ໘ɺ܈͔ΒͳΔ࣍ݩߏ IUUQTXXXXPSH*OUFSOBUJPOBMBSUJDMFTEFGJOJUJPOTDIBSBDUFST
CUCC &NPKJͱαϩήʔτϖΞ • 6OJDPEF&NPKJ#.1ʹؚ·Εͳ͍ • ֦ுྖҬΛදݱ͢ΔͨΊʹαϩήʔτϖΞΛ༻ ˠ ѻ͍͕໘ʂ
CUCC &NPKJΛ͍͍ײ͡ʹѻ͏ϥΠϒϥϦ • KTFNPKJ +BWB4DSJQU • FNPKJKBWB +BWB
CUCC KTFNPKJ • ͳͲͷΤΠϦΞεΛ6OJDPEFίʔυϙΠϯτʹม • ϒϥβ͕ରԠ͍ͯ͠ͳ͍߹$44CBDLHSPVOEJNBHFͰସ
CUCC KTFNPKJ • ͳͲͷΤΠϦΞεΛ6OJDPEFίʔυϙΠϯτʹม • ϒϥβ͕ରԠ͍ͯ͠ͳ͍߹$44CBDLHSPVOEJNBHFͰସ
CUCC ΤΠϦΞε ˠ &NPKJ var converter = new EmojiConverter(); var
str = "Hello:grinning:, Emoji World :wink:"; var result = converter.replace_colons(str); Console.log(result); // "Hello , Emoji World "
CUCC FNPKJKBWB • ΤΠϦΞεͱ&NPKJͷ૬ޓม͕Մೳ • &NPKJఆϑΟϧλϦϯάɺ )5.-͚ΤϯςΟςΟࢀরʹม͢ΔػೳͳͲఏڙ
CUCC FNPKJKBWB • ΤΠϦΞεͱ&NPKJͷ૬ޓม͕Մೳ • &NPKJఆϑΟϧλϦϯάɺ )5.-͚ΤϯςΟςΟࢀরʹม͢ΔػೳͳͲఏڙ
CUCC FNPKJKBWB • ΤΠϦΞεͱ&NPKJͷ૬ޓม͕Մೳ • &NPKJఆϑΟϧλϦϯάɺ )5.-͚ΤϯςΟςΟࢀরʹม͢ΔػೳͳͲఏڙ
CUCC ΤΠϦΞε ˠ &NPKJ String str = "Hello:grinning:, Emoji World
:wink:"; String result = EmojiParser.parseToUnicode(str); System.out.println(result); // "Hello , Emoji World "
CUCC ͓·͚&NPKJΛͬ͞ͱೖྗ .BDͳΒ $USM $PNNBOE εϖʔε
CUCC )BWFB(PPE&NPKJ-JGF