Use UTF-8 Encoding Without BOM by Default in All Serializers #827
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Changed the default encoding for all serializers to UTF-8 without BOM (
new UTF8Encoding(false)
). This ensures compatibility with iCalendar consumers that do not support BOM and provides consistent encoding across all serialization operations.Affected serializers:
All serializers inheriting from
SerializerBase
,ComponentSerializer
,EncodableDataTypeSerializer
, orDataTypeSerializer
now default to UTF-8 without BOM unless an explicit encoding is provided.Directly from
SerializerBase
:SimpleDeserializer
ComponentSerializer
DataMapSerializer
DataTypes.DataTypeSerializer
DataTypes.DateTimeSerializer
DataTypes.DurationSerializer
GenericListSerializer
ParameterSerializer
PropertySerializer
From
ComponentSerializer
:CalendarSerializer
EventSerializer
SerializerFactory
From
EncodableDataTypeSerializer
orDataTypeSerializer
:DataTypes.AttachmentSerializer
DataTypes.EnumSerializer
DataTypes.GeographicLocationSerializer
DataTypes.IntegerSerializer
DataTypes.PeriodListSerializer
DataTypes.PeriodSerializer
DataTypes.RecurrencePatternSerializer
DataTypes.StringSerializer
DataTypes.UriSerializer
DataTypes.UtcOffsetSerializer
DataTypes.WeekDaySerializer
Rationale:
Ensures all iCalendar output is encoded in UTF-8 without BOM by default, as required by many consumers.
Resolves #823