Re: [Json] Call for Consensus: Proposed Text for "8.1 Character Encoding"

"HANSEN, TONY L" <tony@att.com> Tue, 18 April 2017 18:25 UTC

Return-Path: <tony@att.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D62771293E4 for <json@ietfa.amsl.com>; Tue, 18 Apr 2017 11:25:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.38
X-Spam-Level:
X-Spam-Status: No, score=-4.38 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-2.8, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NO9q7IuIVCNt for <json@ietfa.amsl.com>; Tue, 18 Apr 2017 11:25:01 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4DF4212FEAA for <json@ietf.org>; Tue, 18 Apr 2017 11:24:58 -0700 (PDT)
Received: from pps.filterd (m0049459.ppops.net [127.0.0.1]) by m0049459.ppops.net-00191d01. (8.16.0.17/8.16.0.17) with SMTP id v3IIHOPR015878 for <json@ietf.org>; Tue, 18 Apr 2017 14:24:55 -0400
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049459.ppops.net-00191d01. with ESMTP id 29wqn98v03-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <json@ietf.org>; Tue, 18 Apr 2017 14:24:55 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v3IIOsiP002078 for <json@ietf.org>; Tue, 18 Apr 2017 14:24:54 -0400
Received: from mlpi408.sfdc.sbc.com (mlpi408.sfdc.sbc.com [130.9.128.240]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v3IIOmEB001966 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for <json@ietf.org>; Tue, 18 Apr 2017 14:24:52 -0400
Received: from MISOUT7MSGHUBAA.ITServices.sbc.com (MISOUT7MSGHUBAA.itservices.sbc.com [130.9.129.145]) by mlpi408.sfdc.sbc.com (RSA Interceptor) for <json@ietf.org>; Tue, 18 Apr 2017 18:24:39 GMT
Received: from MISOUT7MSGUSRCG.ITServices.sbc.com ([169.254.7.214]) by MISOUT7MSGHUBAA.ITServices.sbc.com ([130.9.129.145]) with mapi id 14.03.0319.002; Tue, 18 Apr 2017 14:24:38 -0400
From: "HANSEN, TONY L" <tony@att.com>
CC: "json@ietf.org" <json@ietf.org>
Thread-Topic: [Json] Call for Consensus: Proposed Text for "8.1 Character Encoding"
Thread-Index: AQHSuHEJncR3U2Zdz0+qv2Tts8xqGg==
Date: Tue, 18 Apr 2017 18:24:38 +0000
Message-ID: <D0D49F12-0CEB-401B-B2FB-577F8CDF6839@att.com>
References: <e69d7c21-85cb-45f4-c0c2-34c624e63049@outer-planes.net> <14252631-AD76-4537-89BF-6368F4A8CDF4@att.com> <7e6af21f-16ea-a3bc-9c01-595ae8acebba@gmx.de> <05100401-88D4-4158-A3FF-3EF144D85449@att.com> <CAD2gp_T0bfpnsCA_t4BAMtEhr7p8JkZggjnY4F+m9-M2hWLfmw@mail.gmail.com> <1e94516c-9c82-8b0e-0d2d-7dbaa83b21bd@outer-planes.net> <40e3207f-e047-c898-1f0c-4422de1d597a@it.aoyama.ac.jp> <1b3ec14a-927a-8d46-e3d3-9807a9588437@outer-planes.net> <CAHBU6ivsq8+Z=MMkUH+=Q0uwc5NCtaJLYw5cp0Qg8eX2hQQ6sA@mail.gmail.com> <b74cb31b-8e04-17d0-548a-fc164ce07c05@outer-planes.net> <20170417175627.GK23461@localhost> <10B651F1-7FE0-484D-BD2E-FD146BC5FB04@tzi.org>
In-Reply-To: <10B651F1-7FE0-484D-BD2E-FD146BC5FB04@tzi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.110.241.22]
Content-Type: text/plain; charset="utf-8"
Content-ID: <F3B06FB6AF874744A0F9B0DE90C8DE77@LOCAL>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-RSA-Inspected: yes
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-04-18_15:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704180143
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/1jGY2sU5K46kAomraPaqDPIuu_k>
Subject: Re: [Json] Call for Consensus: Proposed Text for "8.1 Character Encoding"
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2017 18:25:03 -0000

On 4/17/17, 4:47 PM, "json on behalf of Carsten Bormann" <json-bounces@ietf.org on behalf of cabo@tzi.org> wrote:
 
    Broken record mode:
    
    — writing up the algorithm sounds like encouraging implementation.
      We *don’t* want people to implement this!
      (The whole interminable non-UTF-8 saga probably just was a nod from the RFC 4627 authors to the remnants of UTF-16 land, which mostly have died off since.  Why resurrect?)
    
    - there have been about 15 attempts to define this algorithm on the mailing list.
      All were wrong.
      An Internet Standard should contain tried and true material, not errata fodder.
    
    - an implementer is in a much better position to get this right than the standard, because they can write unit tests.


It’s exactly >because< it’s hard that it should be done once. Here is my suggestion for the wording of the appendix.

Appendix N

As stated above, implementations generating interoperable JSON MUST NOT send UTF-16, and implementations receiving interoperable JSON is NOT REQUIRED to accept UTF-16. If an implementation needs to recognize UTF-16 JSON to deal with legacy files, the following algorithm will differentiate. (provide algorithm here)


	Tony Hansen