<?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>Black Box &#187; ActionScript</title>
	<atom:link href="http://orz.cc/tag/actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://orz.cc</link>
	<description>「アイ」とか「orzccc」とか「Hiro Kanai」とか名乗る男のサイトです。ゲームやウェブサービスを創ったり、声/舞台/映像で役者をしたり。IT起業にまつわる自省と時勢に疲れ、アナログな自己表現に暫く没頭しようとしている。俺たちの自分探しの旅は始まったばかりだ――</description>
	<lastBuildDate>Fri, 30 Jul 2010 05:57:00 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ActionScript におけるファイルとコードに含まれる改行の扱いの違い</title>
		<link>http://orz.cc/actionscript-cr-lf-difference-in-file-and-in-code</link>
		<comments>http://orz.cc/actionscript-cr-lf-difference-in-file-and-in-code#comments</comments>
		<pubDate>Sun, 13 Dec 2009 04:19:27 +0000</pubDate>
		<dc:creator>orzccc</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://orz.cc/?p=47</guid>
		<description><![CDATA[ファイル内の改行文字を削除するために ActionScript 2.0 の処理を書いているところで、「¥r」や「¥n」では認識されないことで嵌ったのでメモ。
テスト1: ファイルから読み込んだ文字列
改行コードは CR+ [...]]]></description>
			<content:encoded><![CDATA[<p>ファイル内の改行文字を削除するために ActionScript <strong>2.0</strong> の処理を書いているところで、「¥r」や「¥n」では認識されないことで嵌ったのでメモ。</p>
<h3>テスト1: ファイルから読み込んだ文字列</h3>
<p>改行コードは CR+LF (Windows)。文字コードは UTF-8。</p>
<pre class="brush:plain;">1行目
2行目</pre>
<pre class="brush:as3;">var string_from_file:String = (上記のファイルを読み込んだもの);

var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);

trace('length CR: ' + string_from_file.split(CR).length); // =&gt; 2
trace('length LF: ' + string_from_file.split(LF).length); // =&gt; 2
trace('length ¥r: ' + string_from_file.split("¥r").length); // =&gt; 1
trace('length ¥n: ' + string_from_file.split("¥n").length); // =&gt;</pre>
<h3>テスト2: 直接 AS のコードで書いた文字列</h3>
<pre class="brush:as3;">var string_from_code:String = "1行目¥r¥n2行目";

var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);

trace('length CR: ' + string_from_code.split(CR).length); // =&gt; 1
trace('length LF: ' + string_from_code.split(LF).length); // =&gt; 1
trace('length ¥r: ' + string_from_code.split("¥r").length); // =&gt; 2
trace('length ¥n: ' + string_from_code.split("¥n").length); // =&gt; 2</pre>
<h3>以上を踏まえて作るべき改行を削除するメソッド</h3>
<pre class="brush:as3;">function chomp(str:String):String {
  var CR:String = String.fromCharCode(13);
  var LF:String = String.fromCharCode(10);
  return str.split(CR).join('').split(LF).join('').split("¥r").join('').split("¥n").join('');
}</pre>
<p><em>全体的に検証が足りない。AS3 では知らない。メモ代わりなので悪しからず。</em></p>
]]></content:encoded>
			<wfw:commentRss>http://orz.cc/actionscript-cr-lf-difference-in-file-and-in-code/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
