Foundation: Add encoding conversion API to CPString

* CPString+Encoding.j: Introduce Cocoa encoding constants and the CPString (CPStringEncoding) category.
  - Implement decoding and encoding via -initWithData:encoding:, -initWithBytes:length:encoding:, -dataUsingEncoding:, and -dataUsingEncoding:allowLossyConversion:.
  - Implement -canBeConvertedToEncoding:, -lengthOfBytesUsingEncoding:, -maximumLengthOfBytesUsingEncoding:, -fastestEncoding, and -smallestEncoding.
  - Add +availableStringEncodings, terminated by 0 matching Cocoa conventions.
  - Add +localizedNameOfStringEncoding:, +defaultCStringEncoding, and encoding detection via +stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:.
  - Document remaining NSString compatibility gaps via TODO comments.
* Foundation.j: Import CPString+Encoding.j.
* CPStringEncodingTest.j: Add unit tests covering encodings, lossy conversion, byte lengths, encoding detection, and available encodings.
This commit is contained in:
David Richardson committed 2026-11-02 14:48:32 -06:00
1 parent ee4fbeb5c5
commit 161f6be214
3 files changed
+1246

No files matched your search

File diff suppressed because it is too large. Load diff