HTML codes to put special characters on your Web page

尝试了一下用 LinqPad 把各种诡异的字母转成 Html 编码~结果发现不是左右字符都能转过去~
.net 内置的工具并不能完美的处理所有的 Html 编码~

字符来源

Query

Get html escaped unicodes
1
2
3
"A,a,À,à,Á,á,Â,â,Ã,ã,Ä,ä,Å,å,Ā,ā,Ă,ă,Ą,ą,Ǟ,ǟ,Ǻ,ǻ,Æ,æ,Ǽ,ǽ,B,b,Ḃ,ḃ,C,c,Ć,ć,Ç,ç,Č,č,Ĉ,ĉ,Ċ,ċ,D,d,Ḑ,ḑ,Ď,ď,Ḋ,ḋ,Đ,đ,Ð,ð,DZ,dz,DŽ,dž,E,e,È,è,É,é,Ě,ě,Ê,ê,Ë,ë,Ē,ē,Ĕ,ĕ,Ę,ę,Ė,ė,Ʒ,ʒ,Ǯ,ǯ,F,f,Ḟ,ḟ,ƒ,ff,fi,fl,ffi,ffl,ſt,G,g,Ǵ,ǵ,Ģ,ģ,Ǧ,ǧ,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ǥ,ǥ,H,h,Ĥ,ĥ,Ħ,ħ,I,i,Ì,ì,Í,í,Î,î,Ĩ,ĩ,Ï,ï,Ī,ī,Ĭ,ĭ,Į,į,İ,ı,IJ,ij,J,j,Ĵ,ĵ,K,k,Ḱ,ḱ,Ķ,ķ,Ǩ,ǩ,ĸ,L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ,Ŀ,ŀ,Ł,ł,LJ,lj,M,m,Ṁ,ṁ,N,n,Ń,ń,Ņ,ņ,Ň,ň,Ñ,ñ,ʼn,Ŋ,ŋ,NJ,nj,O,o,Ò,ò,Ó,ó,Ô,ô,Õ,õ,Ö,ö,Ō,ō,Ŏ,ŏ,Ø,ø,Ő,ő,Ǿ,ǿ,Œ,œ,P,p,Ṗ,ṗ,Q,q,R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř,ɼ,S,s,Ś,ś,Ş,ş,Š,š,Ŝ,ŝ,Ṡ,ṡ,ſ,ß,T,t,Ţ,ţ,Ť,ť,Ṫ,ṫ,Ŧ,ŧ,Þ,þ,U,u,Ù,ù,Ú,ú,Û,û,Ũ,ũ,Ü,ü,Ů,ů,Ū,ū,Ŭ,ŭ,Ų,ų,Ű,ű,V,v,W,w,Ẁ,ẁ,Ẃ,ẃ,Ŵ,ŵ,Ẅ,ẅ,X,x,Y,y,Ỳ,ỳ,Ý,ý,Ŷ,ŷ,Ÿ,ÿ,Z,z,Ź,ź,Ž,ž,Ż,ż"
.Split(',')
.ToDictionary(k=>k,HttpUtility.HtmlEncode)

Result

Dictionary<String,String>
(304 items)



















































































































































































































































































































KeyValue
AA
aa
À&#192;
à&#224;
Á&#193;
á&#225;
Â&#194;
â&#226;
Ã&#195;
ã&#227;
Ä&#196;
ä&#228;
Å&#197;
å&#229;
ĀĀ
āā
ĂĂ
ăă
ĄĄ
ąą
ǞǞ
ǟǟ
ǺǺ
ǻǻ
Æ&#198;
æ&#230;
ǼǼ
ǽǽ
BB
bb
CC
cc
ĆĆ
ćć
Ç&#199;
ç&#231;
ČČ
čč
ĈĈ
ĉĉ
ĊĊ
ċċ
DD
dd
ĎĎ
ďď
ĐĐ
đđ
Ð&#208;
ð&#240;
DZDZ
dzdz
DŽDŽ
dždž
EE
ee
È&#200;
è&#232;
É&#201;
é&#233;
ĚĚ
ěě
Ê&#202;
ê&#234;
Ë&#203;
ë&#235;
ĒĒ
ēē
ĔĔ
ĕĕ
ĘĘ
ęę
ĖĖ
ėė
ƷƷ
ʒʒ
ǮǮ
ǯǯ
FF
ff
ƒƒ
GG
gg
ǴǴ
ǵǵ
ĢĢ
ģģ
ǦǦ
ǧǧ
ĜĜ
ĝĝ
ĞĞ
ğğ
ĠĠ
ġġ
ǤǤ
ǥǥ
HH
hh
ĤĤ
ĥĥ
ĦĦ
ħħ
II
ii
Ì&#204;
ì&#236;
Í&#205;
í&#237;
Î&#206;
î&#238;
ĨĨ
ĩĩ
Ï&#207;
ï&#239;
ĪĪ
īī
ĬĬ
ĭĭ
ĮĮ
įį
İİ
ıı
IJIJ
ijij
JJ
jj
ĴĴ
ĵĵ
KK
kk
ĶĶ
ķķ
ǨǨ
ǩǩ
ĸĸ
LL
ll
ĹĹ
ĺĺ
ĻĻ
ļļ
ĽĽ
ľľ
ĿĿ
ŀŀ
ŁŁ
łł
LJLJ
ljlj
MM
mm
NN
nn
ŃŃ
ńń
ŅŅ
ņņ
ŇŇ
ňň
Ñ&#209;
ñ&#241;
ʼnʼn
ŊŊ
ŋŋ
NJNJ
njnj
OO
oo
Ò&#210;
ò&#242;
Ó&#211;
ó&#243;
Ô&#212;
ô&#244;
Õ&#213;
õ&#245;
Ö&#214;
ö&#246;
ŌŌ
ōō
ŎŎ
ŏŏ
Ø&#216;
ø&#248;
ŐŐ
őő
ǾǾ
ǿǿ
ŒŒ
œœ
PP
pp
QQ
qq
RR
rr
ŔŔ
ŕŕ
ŖŖ
ŗŗ
ŘŘ
řř
ɼɼ
SS
ss
ŚŚ
śś
ŞŞ
şş
ŠŠ
šš
ŜŜ
ŝŝ
ſſ
ß&#223;
TT
tt
ŢŢ
ţţ
ŤŤ
ťť
ŦŦ
ŧŧ
Þ&#222;
þ&#254;
UU
uu
Ù&#217;
ù&#249;
Ú&#218;
ú&#250;
Û&#219;
û&#251;
ŨŨ
ũũ
Ü&#220;
ü&#252;
ŮŮ
ůů
ŪŪ
ūū
ŬŬ
ŭŭ
ŲŲ
ųų
ŰŰ
űű
VV
vv
WW
ww
ŴŴ
ŵŵ
XX
xx
YY
yy
Ý&#221;
ý&#253;
ŶŶ
ŷŷ
ŸŸ
ÿ&#255;
ZZ
zz
ŹŹ
źź
ŽŽ
žž
ŻŻ
żż

FluentAssertion is not compatible with xUnit.Extensions

I met a weird problem that I found the Resharper Test Runner hangs when I introduced theory test case in my unit test.
After some spikes, I found the problem seems caused by the incompatibility between Fluent Assertion and xUnit.Extension.
It is wired, and there seems to be no quick fix.
So I replace the Fluent Assertion with Should and Should.Fluent, which is a port of ShouldIt.
After that, everything goes well except the syntax between Fluent Assertion and Should Fluent are not compatible with each other, although they’re really similar.
But Should.Fluent doesn’t support something.Should.Be(), it requires something.Should.Be.Equals(), which is really annoying to me.

According to the Fluent’s introduction, Fluent is a direct fork of xUnit. And I’m not sure what’s the impact caused by this.

Push Data Flow Model in C# 4.0

In the pre 4.0 era, there are two interfaces reveal a new world to .net world. The two hero are IEnumerable<T> and IEnumerator<T>.
Based on these two interfaces, .net introduced a lot of amazing staffs that dramatically simplified the development related to data flow, these well known features are: foreach loop, yield keyword, and LINQ.
These 2 interfaces provide an common abstraction layer for the operation that pull data from the data source. And with this abstraction, you can apply foreach loop to almost every kind of data source in the .net world.
IEnumerable<T> and IEnumerator<T> are cool, but they are somehow not so convenient to use in some cases, such as in asynchronous context or in obvious latency environment.
And the pull data flow model also has a capable brother, the push data flow, which can fill up the gap that pull model left for us.

So in .net 4.0, Microsoft introduce another 2 great interfaces, called IObservable<T> and IObserver<T>. These two interfaces, just as IEnumerable<T> and IEnumerator<T>, also open a door to the new world for every .net developer. With these 2 interfaces, people can setup a lot of features that corresponding to IEnumerable<T> and IEnumerator<T>.

Now Microsoft has a great library that called Rx(which stands for “Reactive Extension”), which provided a lot of features that similar to LINQ and more based on IObserable<T> and IObserver<T>.