<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://wiki.xdi8.top/index.php?action=history&amp;feed=atom&amp;title=Talk%3A%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D</id>
	<title>Talk:聊天字母 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xdi8.top/index.php?action=history&amp;feed=atom&amp;title=Talk%3A%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D"/>
	<link rel="alternate" type="text/html" href="https://wiki.xdi8.top/index.php?title=Talk:%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D&amp;action=history"/>
	<updated>2026-04-22T03:55:54Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.xdi8.top/index.php?title=Talk:%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D&amp;diff=38897&amp;oldid=prev</id>
		<title>2025年4月1日 (二) 13:30 ColorfulGalaxy</title>
		<link rel="alternate" type="text/html" href="https://wiki.xdi8.top/index.php?title=Talk:%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D&amp;diff=38897&amp;oldid=prev"/>
		<updated>2025-04-01T13:30:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年4月1日 (二) 21:30的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Open source program ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Chat to [[PUA]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Chat to [[PUA]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key xdi8:diff:1.41:old-38896:rev-38897:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>ColorfulGalaxy</name></author>
	</entry>
	<entry>
		<id>https://wiki.xdi8.top/index.php?title=Talk:%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D&amp;diff=38896&amp;oldid=prev</id>
		<title>ColorfulGalaxy：​Move from user page</title>
		<link rel="alternate" type="text/html" href="https://wiki.xdi8.top/index.php?title=Talk:%E8%81%8A%E5%A4%A9%E5%AD%97%E6%AF%8D&amp;diff=38896&amp;oldid=prev"/>
		<updated>2025-04-01T13:21:14Z</updated>

		<summary type="html">&lt;p&gt;Move from user page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;; Chat to [[PUA]]&lt;br /&gt;
&lt;br /&gt;
This adaptable C++ code converts [[聊天字母|ASCII-based alphabet]] to ampersand-encoded [[PUA]]. &lt;br /&gt;
There may be bugs. You can copy this code into [http://tio.run/#cpp-clang this website], which uses UTF-8.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;mw-collapsible&amp;quot;&amp;gt;#define PROGRAM&lt;br /&gt;
#include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
#define elif else if&lt;br /&gt;
// Input ends in newline&lt;br /&gt;
unsigned char c=0; //input&lt;br /&gt;
unsigned char iq[8]; //input queue&lt;br /&gt;
int iql=0; //input queue length&lt;br /&gt;
const int lev[256]={&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32&lt;br /&gt;
000040,000041,000042,000000, 000044,000000,000000,000047, 000050,000051,000052,000053, 000054,000055,000056,000057, //48&lt;br /&gt;
+57543,0xe09c,0xe097,0xe09a, 0xe066,0xe067,0xe096,0xe06a, 0xe099,+57503,000072,000073, 000074,000075,000076,000077, //64&lt;br /&gt;
000000,0xe093,0xe06b,+57550, 0xe03b,0xe092,0xe069,+57546, 0xe03e,+57547,+57538,+57544, 0xe095,+57549,0xe03f,+57542, //80&lt;br /&gt;
+57537,+57545,+57540,+57548, 0xe098,+57539,0xe09b,+57536, +57502,0xe094,+57541,000000, 000000,000000,000000,000002, //96&lt;br /&gt;
000003,0xe06f,0xe021,0xe06c, 0xe061,0xe091,0xe06d,0xe063, 0xe065,0xe09d,0xe035,0xe054, 0xe060,0xe033,0xe039,0xe090, //112&lt;br /&gt;
0xe032,0xe036,0xe03d,0xe03c, 0xe062,0xe06e,0xe068,0xe034, 0xe037,0xe038,0xe03a,000000, 000000,000000,000007&lt;br /&gt;
};//ASCII to PUA (Level)&lt;br /&gt;
const int gra[256]={&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32&lt;br /&gt;
000000,0xe030,000000,000000, +57637,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //48&lt;br /&gt;
000000,000000,000000,000000, 000000,+57590,+57636,000000, +57589,000000,000000,000000, 000000,000000,000000,000000, //64&lt;br /&gt;
000000,000000,+57598,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, +57634,000000,+57595,+57597, //80&lt;br /&gt;
+57585,+57587,+57586,000000, 000000,000000,000000,+57639, 000000,+57593,000000,000000, 000000,000000,000000,000000, //96&lt;br /&gt;
000000,+57594,000000,000000, 000000,000000,000000,+57632, 000000,000000,000000,+57588, 000000,+57591,+57640,000000, //112&lt;br /&gt;
+57635,+57599,+57584,+57551, 000000,000000,+57633,+57592, +57596,+57638&lt;br /&gt;
};//ASCII to PUA (Grave)&lt;br /&gt;
const int cen[256]={&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,0xe00c,000000, //48&lt;br /&gt;
0xe00a,0xe001,0xe002,0xe003, 0xe004,0xe005,0xe006,0xe007, 0xe008,0xe009,000000,000000, 000000,000000,000000,000000, //64&lt;br /&gt;
000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //80&lt;br /&gt;
000000,000000,000000,000000, 0xe00b&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void push(char c1){&lt;br /&gt;
 if(iql&amp;gt;sizeof(iq)){&lt;br /&gt;
  throw(&amp;quot;e001 queue overflow&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 iq[iql]=c1;&lt;br /&gt;
 iql+=1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void clear(char c1=0){&lt;br /&gt;
 memset(iq,0,sizeof(iq));&lt;br /&gt;
 iq[0]=c1;&lt;br /&gt;
 iql=!!c1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print(char c1=0){&lt;br /&gt;
 if(iql==0){&lt;br /&gt;
  ;&lt;br /&gt;
 } elif(iq[0]==226 &amp;amp;&amp;amp; iq[1]==135 &amp;amp;&amp;amp; iq[2]==167){&lt;br /&gt;
  if(iq[4]==96){&lt;br /&gt;
   if(gra[iq[3]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e002 space and punctuation can not be capitalized&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,gra[iq[3]]-16);&lt;br /&gt;
  }&lt;br /&gt;
  if(iql==4){&lt;br /&gt;
   if(lev[iq[3]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e003 space and punctuation can not be capitalized&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,lev[iq[3]]-16);&lt;br /&gt;
  }&lt;br /&gt;
 } elif(iq[0]==94){&lt;br /&gt;
  if(iq[2]==96){&lt;br /&gt;
   if(gra[iq[1]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e004 space and punctuation can not be capitalized&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,gra[iq[1]]-16);&lt;br /&gt;
  }&lt;br /&gt;
  if(iql==2){&lt;br /&gt;
   if(lev[iq[1]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e005 space and punctuation can not be capitalized&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,lev[iq[1]]-16);&lt;br /&gt;
  }&lt;br /&gt;
 } elif(iq[0]==126){&lt;br /&gt;
  if(iq[2]==96){&lt;br /&gt;
   if(gra[iq[1]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e006 space and punctuation can not be made middle case&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,gra[iq[1]]+16);&lt;br /&gt;
  }&lt;br /&gt;
  if(iql==2){&lt;br /&gt;
   if(lev[iq[1]]&amp;lt;129){&lt;br /&gt;
    throw(&amp;quot;e007 space and punctuation can not be made middle case&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,lev[iq[1]]+16);&lt;br /&gt;
  }&lt;br /&gt;
 } elif(iq[0]==37){&lt;br /&gt;
  if(iq[2]==37){&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,cen[iq[1]]);&lt;br /&gt;
  } else {&lt;br /&gt;
   printf(&amp;quot;%s&amp;quot;,iq);&lt;br /&gt;
  }&lt;br /&gt;
 } elif(iq[1]==96){&lt;br /&gt;
  if(gra[iq[0]]&amp;lt;10){&lt;br /&gt;
   throw(&amp;quot;e010 unidentified character&amp;quot;);&lt;br /&gt;
  } elif(gra[iq[0]]&amp;lt;127){&lt;br /&gt;
   printf(&amp;quot;%s&amp;quot;,iq);&lt;br /&gt;
  } else {&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,gra[iq[0]]);&lt;br /&gt;
  }&lt;br /&gt;
 } elif(iql==1){&lt;br /&gt;
  if(lev[iq[0]]&amp;lt;10){&lt;br /&gt;
   throw(&amp;quot;e011 unidentified character&amp;quot;);&lt;br /&gt;
  } elif(lev[iq[0]]&amp;lt;127){&lt;br /&gt;
   printf(&amp;quot;%s&amp;quot;,iq);&lt;br /&gt;
  } else {&lt;br /&gt;
   printf(&amp;quot;%c%c%d;&amp;quot;,38,35,lev[iq[0]]);&lt;br /&gt;
  } &lt;br /&gt;
 } else {&lt;br /&gt;
  throw(&amp;quot;e03f unknown error&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 clear(c1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
 try{&lt;br /&gt;
  while(c!=255){&lt;br /&gt;
   c=getchar();&lt;br /&gt;
   if(c==10){&lt;br /&gt;
    print();&lt;br /&gt;
    puts(&amp;quot;&amp;quot;);&lt;br /&gt;
   } elif(c==13){&lt;br /&gt;
    ;&lt;br /&gt;
   } elif(iql==0){&lt;br /&gt;
    push(c);&lt;br /&gt;
   } elif(c==226){&lt;br /&gt;
    print(c); //Capital sign&lt;br /&gt;
   } elif(iql==1&amp;amp;&amp;amp;c==135){&lt;br /&gt;
    push(c);&lt;br /&gt;
   } elif(iql==2&amp;amp;&amp;amp;c==167){&lt;br /&gt;
    push(c);&lt;br /&gt;
   } elif(31&amp;lt;c&amp;amp;&amp;amp;c&amp;lt;126&amp;amp;&amp;amp;c!=96){&lt;br /&gt;
    if(iq[0]==226 &amp;amp;&amp;amp; iq[1]==135 &amp;amp;&amp;amp; iq[2]==167 &amp;amp;&amp;amp; iql==3){&lt;br /&gt;
     push(c);&lt;br /&gt;
    } elif(iq[0]==94 &amp;amp;&amp;amp; iql==1){&lt;br /&gt;
     push(c);&lt;br /&gt;
    } elif(iq[0]==126 &amp;amp;&amp;amp; iql==1){&lt;br /&gt;
     push(c);&lt;br /&gt;
    } elif(iql&amp;gt;1&amp;amp;&amp;amp;iq[iql-1]==96){&lt;br /&gt;
     print(c);&lt;br /&gt;
    } elif(31&amp;lt;iq[iql-1]&amp;amp;&amp;amp;iq[iql-1]&amp;lt;126){&lt;br /&gt;
     print(c);&lt;br /&gt;
    } else {&lt;br /&gt;
     push(c);&lt;br /&gt;
    }&lt;br /&gt;
   } elif(c==96){&lt;br /&gt;
    push(c);&lt;br /&gt;
   } elif(c==94){&lt;br /&gt;
    print(c);&lt;br /&gt;
   } elif(c==126){&lt;br /&gt;
    print(c);&lt;br /&gt;
   } else {&lt;br /&gt;
    push(c);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  print();&lt;br /&gt;
 }catch(const char message[]){&lt;br /&gt;
  fputs(message,stderr); //Swap the two arguments if not working&lt;br /&gt;
 }&lt;br /&gt;
 return 0;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[PUA]] to Chat (Python)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;mw-collapsible&amp;quot;&amp;gt;#Python&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
def alax():&lt;br /&gt;
 ay=[]&lt;br /&gt;
 for g in ax:&lt;br /&gt;
  ay+=[&amp;#039;^&amp;#039;+d for d in g]+g+[&amp;#039;~&amp;#039;+d for d in g]&lt;br /&gt;
 return ay.copy()&lt;br /&gt;
&lt;br /&gt;
ax=[[&amp;#039;!`&amp;#039;]+list(&amp;#039;bpmwjqxynzDsrHN&amp;#039;),list(&amp;#039;ldtgkh45vF7Bcfua&amp;#039;),list(&amp;#039;oeEAYL62T83V1iX9&amp;#039;)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a=57345*[&amp;#039;&amp;#039;]+[&amp;#039;%&amp;#039;+d+&amp;#039;%&amp;#039; for d in list(&amp;#039;1234567890T.&amp;#039;)]+[&amp;#039;N_&amp;#039;,&amp;#039;iu_&amp;#039;,&amp;#039;ui_&amp;#039;]+16*[&amp;#039;&amp;#039;]+alax()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a[10]=&amp;#039;\n&amp;#039;&lt;br /&gt;
a[32]=&amp;#039; &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(1):&lt;br /&gt;
 c=sys.stdin.read(1)&lt;br /&gt;
 print(a[ord(c)],end=&amp;#039;&amp;#039;)&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>ColorfulGalaxy</name></author>
	</entry>
</feed>