package Ġcom . k iven . sample . charCode Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . flex box . Flex Direction Ċ import Ġcom . google . android . flex box . Flex box Layout Ċ import Ġcom . google . android . flex box . Just ify Content Ċ import Ġcom . k iven . k utils . activity Helper . K Activity Helper Ċ import Ġcom . k iven . k utils . activity Helper . K Helper Activity Ċ import Ġcom . k iven . k utils . tools . K String Ċ import Ġcom . k iven . k utils . tools . K Util Ċ import Ġcom . k iven . sample . AH WebView Ċ import Ġcom . k iven . sample . R Ċ import Ġcom . k iven . sample . util . show List Dialog Ċ import Ġkotlinx . android . synt hetic . main . item _ unicode . view .* Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . nio . charset . Charset ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġo uk ob ay ashi Ġon Ġ 2 0 1 9 - 1 0 - 2 4 . Ċ Ġ*/ Ċ class ĠA H Unicode List Ġ: ĠK Activity Helper () Ġ{ ĊĊĠĠĠ Ġvar Ġshow Sel : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġre cyclerView Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠRecyclerView ( m Activity ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠMy Adapter () ĊĠĠĠ Ġprivate Ġvar ĠcharArray Ġ= ĠInt Array ( 0 ) Ċ // ĠĠĠ Ġprivate Ġvar Ġchar Count Ġ= Ġ 0 ĊĊĠĠĠ Ġ// ĠĠĠ Ġval Ġstart Code Ġ= Ġ 0 x 0 0 0 0 Ċ // ĠĠĠ Ġval Ġend Code Ġ= Ġ 0 xFFFF ĊĠĠĠ Ġvar Ġcur Go up Ġ= ĠUnicode Group (" 0 0 0 0 ", Ġ" FFFF ", Ġ" åħ¨éĥ¨ ") ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( activity : ĠK Helper Activity , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( activity , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( LinearLayout ( activity ). apply Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġactivity . linear Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . VERTICAL ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġflex Box Ġ= ĠFlex box Layout ( m Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflex Box . flex Direction Ġ= ĠFlex Direction . ROW ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflex Box . justify Content Ġ= ĠJust ify Content . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( flex Box ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġflex Box . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( Button ( m Activity ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" éĢīæĭ© 0 åı· å¹³ éĿ¢ åĪĨ ç»Ħ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Input Ġ= Ġactivity . assets . open (" unicode _ code _ detail . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreader Ġ= ĠInputStreamReader ( file Input ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= Ġreader . read Lines () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . show List Dialog ( groups ) Ġ{ Ġindex , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ index ]. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcur Go up Ġ= ĠUnicode Group ( substring ( 0 , Ġ 4 ), Ġsubstring ( 5 , Ġ 9 ), Ġsubstring ( 1 0 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Sel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( Button ( m Activity ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" éĢīæĭ© åħ¶ä»ĸ å¹³ éĿ¢ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroups Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" 1 0 0 0 0 ", Ġ" 1 FFFF ", Ġ" å¤ļ æĸĩ ç§į è¡¥ åħħ å¹³ éĿ¢ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" 2 0 0 0 0 ", Ġ" 2 FFFF ", Ġ" è¡¨ æĦı æĸĩåŃĹ è¡¥ åħħ å¹³ éĿ¢ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" 3 0 0 0 0 ", Ġ" 3 FFFF ", Ġ" è¡¨ æĦı æĸĩåŃĹ ç¬¬ä¸ī å¹³ éĿ¢ ï¼Ī æľª æŃ£ å¼ı ä½¿çĶ¨ ï¼ī "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" 4 0 0 0 0 ", Ġ" D FFFF ", Ġ" ï¼Ī å° ļ æľª ä½¿çĶ¨ ï¼ī "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" E 0 0 0 0 ", Ġ" E FFFF ", Ġ" çī¹ åĪ« çĶ¨ éĢ Ķ è¡¥ åħħ å¹³ éĿ¢ "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" F 0 0 0 0 ", Ġ" FFFF F ", Ġ" ä¿ĿçķĻ ä½ľä¸º ç§ģ äºº ä½¿çĶ¨ åĮº ï¼Ī A åĮº ï¼ī "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnicode Group (" 1 0 0 0 0 0 ", Ġ" 1 0 FFFF ", Ġ" ä¿ĿçķĻ ä½ľä¸º ç§ģ äºº ä½¿çĶ¨ åĮº ï¼Ī B åĮº ï¼ī ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . show List Dialog ( groups . map Ġ{ Ġ"${ it . start Code } Ġ- Ġ${ it . end Code }: Ġ${ it . detail }" Ġ}) Ġ{ Ġindex , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroups [ index ]. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcur Go up Ġ= Ġgroups [ index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Sel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( Button ( m Activity ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" æ»ļ åĬ¨ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( char Array . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsel Scroll () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . scrollTo Position ( 0 x 6 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( Button ( m Activity ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" æĽ´å¤ļ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĠA H CharCode (). startActivity ( activity ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* textView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Sel Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Sel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( TextView ( activity ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Sel Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Sel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( re cyclerView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* val Ġlayout Manager Ġ= ĠFlex box LayoutManager ( m Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager . flex Direction Ġ= ĠFlex Direction . ROW ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager . justify Content Ġ= ĠJust ify Content . CENTER ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġlayout Manager */ Ġ// Ġ çĶ±äºİ è¦ģ è®¡ç®Ĺ æ¯ı ä¸Ģä¸ª åįķåħĥ æł¼ çļĦ ä½įç½® ï¼Į å½ĵ item å¤ª å¤ļ çļĦæĹ¶åĢĻ ï¼Į ä¼ļ æ¶Ī èĢĹ å¤§ éĩı åĨħåŃĺ åŃĺåĤ¨ çĽ¸åħ³ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠGrid LayoutManager ( m Activity , ĠK Util . get Screen With () Ġ/ ĠK Util . dip 2 px ( 7 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsel Scroll () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġaa Ġ= Ġ" 0 1 2 3 4 5 6 7 8 9 ABCDEF ". toCharArray (). map Ġ{ Ġit . toString () Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠmaxLength Ġ= ĠString . format ("% x ", ĠcharArray . last ()). length ĊĠĠĠĠĠĠĠ Ġval Ġss Ġ= ĠInt Array ( maxLength ) ĊĠĠĠĠĠĠĠ Ġvar Ġstep Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġm Activity . show List Dialog ( aa , Ġfalse ) Ġ{ Ġindex , Ġ_ Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è®°å½ķ éĢīæĭ© çļĦæķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( step Ġ>= ĠmaxLength ) Ġreturn @ show List Dialog ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġss [ step ] Ġ= Ġindex ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstep ++ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è®¡ç®Ĺ éĢīæĭ© çļĦåĢ¼ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsel Value Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠmaxLength ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsel Value Ġ= Ġ( sel Value Ġ* Ġ 1 6 ) Ġ+ Ġss [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æī¾åĪ° ä½įç½® å¹¶ æ»ļ åĬ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġii Ġ= ĠcharArray . indexOf First Ġ{ Ġit Ġ>= Ġsel Value Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠK Log . i ( String . format ("% 0 8 x Ġ---- Ġ% 0 8 x ", Ġsel Value , Ġii )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . scrollTo Position ( if Ġ( ii Ġ< Ġ 0 ) ĠcharArray . size Ġ- Ġ 1 Ġelse Ġii ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonChange Sel () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġcur Go up . end Ġ- Ġcur Go up . start Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġca Ġ= ĠInt Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġa Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠInt Range ( cur Go up . start , Ġcur Go up . end )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Character . isDefined ( i )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġca [ a ] Ġ= Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠcharArray Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a Ġ> Ġ 0 ) ĠInt Array ( a ) Ġ{ Ġca [ it ] Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠInt Array ( 0 ) ĊĊĊĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġshow Sel ?. text Ġ= Ġ" å½ĵåīį æĺ¾ç¤º èĮĥåĽ´ ï¼ļ ${ cur Go up . start Code } Ġ- Ġ${ cur Go up . end Code } ï¼ļ ${ cur Go up . detail } ï¼Į å®ŀéĻħ åı¯çĶ¨ Ġ$ a /$ size " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠMy Adapter Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcur Code Ġ= ĠcharArray [ position ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠåĪ¤æĸŃ åŃĹç¬¦ æľī æ²¡æľī å¯¹åºĶçļĦ unicode å½¢å¼ı ï¼Į å°±æĺ¯ éĢļè¿ĩ unicode ä¸Ń æĺ¯åĲ¦ å®ļä¹ī äºĨ åŃĹç¬¦ çļĦ unicode åĨĻ æ³ķ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Character . isDefined ( cur Code )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĩĩçĶ¨ UTF _ 3 2 Ġå¤§ ç«¯ è§£ çłģ ï¼Į å¦Ĥæŀľ ä½¿çĶ¨ UTF - 8 éľĢè¦ģ æĽ´ å¤įæĿĤ çļĦ å¤ĦçĲĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ text . text Ġ= ĠString Code Util . hex Str 2 Str ( String . format ("% 0 8 x ", Ġcur Code ), ĠChar sets . UTF _ 3 2 BE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ text . setTextColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ text . text Ġ= Ġ" XX " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ text . setTextColor ( Color . GRAY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ code . text Ġ= ĠString . format ("% x ", Ġcur Code ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append Line (" ç¼ĸåı· ï¼ļ $ cur Code Ġ- Ġ${ tv _ code . text }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Line ("\ n å¯¹åºĶ åħ¶ä»ĸ ç¼ĸçłģ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCharset . available Charsets (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append Line ("${ it . key }:${ String Code Util . str 2 Hex Str ( tv _ text . text . toString (), Ġit . value )} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( m Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( sb . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button (" å¤įåĪ¶ ") Ġ{ Ġdialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠK String . set Clip Text ( m Activity , Ġtv _ text . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Negative Button (" çĻ¾ åº¦ ") Ġ{ Ġdialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA H WebView (). putExtra (" url ", Ġ" https :// www . baidu . com / s ? wd =${ tv _ text . text }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. startActivity ( m Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Neutral Button (" åıĸæ¶Ī ") Ġ{ Ġdialog , Ġwhich Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . create (). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPaint Compat . has Glyph () Ġ// Ġ ç¡®å®ļ ç»ĺ åĽ¾ ä¸ĬçļĦ åŃĹ ä½ĵ éĽĨ æĺ¯åĲ¦ æľīä¸Ģä¸ª åŃĹ å½¢ ä»¥ åĲĳ åĲİ åħ¼ å®¹ çļĦæĸ¹å¼ı æĶ¯æĮģ åŃĹç¬¦ä¸² ãĢĤ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĠcharArray . size ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠRecyclerView . ViewHolder ( LayoutInflater . from ( m Activity ). inflate ( R . layout . item _ unicode , Ġparent , Ġfalse )) Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠUnicode Group ( val Ġstart Code : ĠString , Ġval Ġend Code : ĠString , Ġval Ġdetail : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstart Code . toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġend : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġend Code . toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }