apex:outputTextタグとapex:outputFieldタグはVisualforceでプロパティの情報を出力するところは同じだが、apex:outputFieldタグはオブジェクトにひもづくプロパティしか出力できない。

また、apex:outputFieldタグで出力すると、改行コードがHTMLエンコードされるが、apex:outputTextタグでの出力ではエンコードされない。

なので、apex:outputTextタグを使って、Apexクラスのプロパティを出力する際、改行コードも考慮しなければいけないケースでは、自力でつくらなきゃ・・・いけないかもです。あ~んど、Apexでは、HTMLエンコードするクラスが存在していないような。。。

逆に、改行コード以外は、Visualforceでエンコードして出力してくれます。もし、改行コードのエンコードも考慮して自力でHTMLエンコードするならば、apex:outputTextタグでの出力はescape属性をfalseにして出力するようです。。。

<apex:outputText escape="false" value="{!data}" />