我想知道apex中string / blob的大小。 我发现只是size()方法,它返回string / blob中的字符数。 Salesforce中单个字符的大小是多少? 或者有什么方法可以直接知道字节大小?
答案 0 :(得分:0)
我认为这里唯一真正的答案是“视情况而定”。为什么你需要知道这个?
String
上的方法如 charAt
和 codePointAt
suggest UTF-16 可能在内部使用;在这种情况下,每个字符将由 2 或 4 个字节表示,但这很难“证明”。
Apex 似乎被翻译成 Java 并在某种形式的 JVM 上运行,而 Java 中的 String
是 represented internally as UTF-16,所以这再次表明 Apex 中的字符是 2 或 4 个字节。
任何时候通过网络发送 String
s(例如作为来自 @RestResource
注释类的响应),UTF-8 似乎被用作字符编码,这意味着 1每个字符最多使用 4 个字节,具体取决于它是什么字符。 (见section 2.5 of the Unicode standard。)
但是你真的应该问问自己为什么你认为你的代码需要知道这一点,因为它很可能并不重要。