<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blogging on Base16b &#187; trouble-shooting</title>
	<atom:link href="http://www.base16b.org/blog/topics/trouble-shooting/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.base16b.org/blog</link>
	<description>Efficient, standards-compliant binary encoding</description>
	<lastBuildDate>Sat, 22 Aug 2009 01:57:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Types of corruption</title>
		<link>http://www.base16b.org/blog/2009/08/types-of-corruption/</link>
		<comments>http://www.base16b.org/blog/2009/08/types-of-corruption/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 00:20:50 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[trouble-shooting]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=200</guid>
		<description><![CDATA[There are  various ways in which the Asyntactic script may (appear to) be corrupted by an application or its environment. This post is an atempt to place the variable symptoms of script corruption into a classification system. R &#8211; Rendering Asyntactic script characters are rendered : as expected no characters visible unrecognisable characters, (mostly) all [...]]]></description>
			<content:encoded><![CDATA[<p>There are  various ways in which the Asyntactic script may (appear to) be corrupted by an application or its environment. This post is an atempt to place the variable symptoms of script corruption into a classification system.</p>
<h3>R &#8211; Rendering</h3>
<p>Asyntactic script characters are rendered :</p>
<ol>
<li>as expected</li>
<li>no characters visible</li>
<li>unrecognisable characters, (mostly) all the same
<ol>
<li>BMP plane (2 byte) characters OK, multi-byte characters no good</li>
<li>all planes NG</li>
</ol>
</li>
<li>unrecognisable characters, (mostly) all different. (sub-categories same as 3.)</li>
<li>recognisable but unexpected characters. (sub-categories same as 3.)</li>
</ol>
<p>e.g. rendering in the two images in the <a href="http://www.base16b.org/blog/2009/08/lastresort-font/">previous post</a> would be classified respectively as R3.2 and R1.</p>
<h3>C -Code Points</h3>
<p>Each Asyntactic script code point :</p>
<ol>
<li>maintains integrity through input / storage / communication / output</li>
<li>gets translated into an incorrect code point
<ol>
<li>each one into the same character</li>
<li>each one into different characters in the BMP only</li>
<li>each one into different characters in the BMP and other planes</li>
</ol>
</li>
</ol>
<p>e.g. corruption in the <a href="http://www.base16b.org/samples_twitter">modified Spaz Twitter client sample</a> would be classified as R.3.1 C.1. Although Spaz (AIR) did not render most characters correctly, the destination site  Twitter demonstrates that data integrity was preserved in the Spaz client.</p>
<h3>L &#8211; Length of character string</h3>
<p>Strings encoded in the Asyntactic script  are  :</p>
<ol>
<li>the expected length</li>
<li>shorter than expected
<ol>
<li>approximately half of the length</li>
<li>other</li>
</ol>
</li>
<li> longer than expected</li>
</ol>
<p>e.g. the Twitter web client and the standard Spaz client both use the Javascript String.length method to count characters in a message. Because this method is broken for higher plane Unicode, they both corrupt data by classification R.2.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/types-of-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
