ずらし[code_]:=If[code[[1]]<224,code-{129,64},code-{193,64}];
漢字情報語[氏名_]:=
Module[{漢字={1,0,0,0},文字数,漢字Data,終端={0,0,0,0}},
文字数=IntegerDigits[StringLength[氏名],2,8];
漢字Data=Map[IntegerDigits[#,2,13]&,
Map[#[[1]]*192+#[[2]]&,
Map[ずらし,Partition[ToCharacterCode[氏名,"ShiftJIS"],2]]]];
Part[Partition[
Partition[Flatten[{漢字,文字数,漢字Data,終端}],
8,8,1,0],
9,9,1,{{1,1,1,0,1,1,0,0},
{0,0,0,1,0,0,0,1}}],1]];

すぐ下のセルの氏名を自分の氏名に変え，Shift-Enter として，自分で作ったデータと一致するかを確認せよ．（その際「すべての初期化セルを自動評価しますか」と尋ねられるので、「はい」と答える．）

氏名="濱上陽介";
漢字情報語[氏名]

ExportString[Table[{i,漢字情報語[氏名][[i]]},{i,1,9}],"Table"]

情報多項式[漢字情報語[氏名]]//
(poly|->TraditionalForm[poly,ParameterVariables->{γ}])

情報語に誤り訂正部分を加えて、送信語をつくる．

生成元=(γ^8)+(γ^4)+(γ^3)+(γ^2)+1;
加法表示[x_]:=PolynomialMod[x,{生成元,2}]
F256=Prepend[Table[加法表示[(γ^k)],{k,0,254}],0];
位置[L_,e_]:=Position[L,e][[1]][[1]];
乗法表示[x_]:=If[x===0,0,γ^(位置[F256,加法表示[x]]-2)];
生成多項式[n_,k_] :=Collect[Product[x+γ^i,{i,0,n-k-1}],x,乗法表示];
情報多項式[word_]:=Map[加法表示[#.Table[(γ^((7-i))),{i,0,7}]]&,word
].Table[x^(9-i),{i,1,9}];
符号多項式[poly_]:=
Collect[PolynomialMod[
poly*x^17+PolynomialRemainder[poly*x^17,生成多項式[26,9],x],
{生成元,2}],x];
符号語[poly_]:=Mod[Map[Table[Coefficient[加法表示[#],γ,7-i],{i,0,7}] &,Table[Coefficient[poly,x,25-i],
{i,0,25}]],2];

符号多項式[情報多項式[漢字情報語[氏名]]]//(poly|->TraditionalForm[poly,ParameterVariables->{γ}])

送信語=符号語[符号多項式[情報多項式[漢字情報語[氏名]]]]

ExportString[Table[{i,送信語[[i]]},{i,1,26}],"Table"]

ExportString[Table[送信語[[i]],{i,1,26}],"TSV"]