- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有为 MD5 munge 准备消息的 java 代码
private static char[] jimsCopyRight = {
'C'、'o'、'p'、'y'、'r'、'i'、'g'、'h'、 't', ':', ' ', 0xa9, ' '};
用于
StringBuffer message = new StringBuffer();
message.append(name.toLowerCase()); message.append(new String(jimsCopyRight));
当我使用
打印消息时for(int i = 0; i < message.length(); i++){
System.out.println("i = "+ i + "char "+ message.substring(i, i + 1) + "charAT "+ message.charAt(i)); }
我得到 i = 14 char\251 charAT\251 并且 message.toString 是 jimCopyright:\251
我需要构造一个具有相同字符的 NSMutableString。
我尝试过的事情
wDevCopyright = [NSString stringWithFormat:@"jimCopyright: %c ", 0xa9];
for(int i = 0; i < [message length]; i++){
NSLog(@"i = %d char %c %d", i, [message characterAtIndex:i], [message characterAtIndex:i]);
}
这给了我 i = 14 char © 169
任何使 NSMutableString 与 StringBuffer 相同的帮助将不胜感激。
<小时/>问题是,当我合并 MD5 中的两个字符串时,添加 0xa9 后会得到不同的结果。这些打印品只是为了看一下琴弦。
我认为这与 Java 中的 char[] 和 NSMutableString 的构造有关。我不相信它们有相同的值(value)观。
我有一些 C 代码,它声明版权为
#define jimsCopyRight "Copyright: � "
版权的Java MD5和C MD5是相同的。
最佳答案
版权符号就是你想要的,对吗?根据你的问题,这就是你得到的。那么问题出在哪里呢?
(这就是为什么魔数(Magic Number)不好。我无法仅从您的代码中判断您想要什么编码0xa9
。)
如果您想知道为什么它显示 169 而不是 251,那是因为 Java 打印出八进制(基数 8)字符转义序列,而 C 标准库 Core Foundation 中的 %d
,并且 Foundation 将值打印为十进制(以 10 为底)。 \251
不是第 251 个字符。使用 %o
将值打印为八进制,或使用 %x 将其打印为十六进制(基数 16)。或者,使用 Calculator.app 的编程模式将 251 从八进制转换为十进制。
顺便说一句,您可以使用 %@
格式序列和 NSUserName
函数将您的用户名插入到字符串中,就像在 Java 代码中一样。无需对其进行硬编码。
关于cocoa - NSMutableString stringWithFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4235346/
这个问题在这里已经有了答案: How to add percent sign to NSString (7 个回答) 6年前关闭。 我搜索并找不到这个答案...... 如果我有这个,我怎样才能让它显示
我不知道我在这里错过了什么。我正在尝试使用 [NSString stringWithFormat] 函数连接字符串。这就是我正在做的事情。 NSString *category = [row obje
我有为 MD5 munge 准备消息的 java 代码 private static char[] jimsCopyRight = { 'C'、'o'、'p'、'y'、'r'、'i'、'g'、'h'、
我正在尝试使用 MFMailComposeViewController 撰写电子邮件,并且我正在使用绘制表格的 HTML 字符串。它有 265 个参数,所以我必须像这样传递它: [mailViewCo
我需要知道是否有一种方法可以使用 if 语句来显示某些 nsstring,具体取决于 NSString 是否包含任何数据。 我有一个名为 visitorInfo 的 nsstring。 该字符串使用来
调试如下代码时 NSString *var1 = @"blaa"; NSString *var2 = @"blaaaaa"; NSString* script = [NSString stringWi
我对StringWithFormat有疑问不工作。调试器表示返回的字符串不是 NSString (而且它不为空),因此我用假设的 NSString 进行调用将与方法选择器不匹配,并且我的应用程序崩溃。
简单/基本问题: 如果我不关心格式化所获取的日期,两者之间的性能差异是什么? NSDate *date = [NSDate date]; NSSting *dateString = [NSStri
我有一个枚举属性: typedef enum syncCodeTypes { kCodeNull, kCodeFoo, kCodeBar, kCodeDone } sy
此代码在名为username的UILabel中显示了用户的caption caption.text = [NSString stringWithFormat:@"@%@",[data objectFo
我知道方法stringWithFormat通常使用如下: [NSString stringWithFormat: @"%@ %@", arg1, arg2]; 我的问题是,这个方法的最后一个参数的类型
如果达到给定的有效位数,我想将 double 转换为字符串,并自动(!)从十进制切换到科学数(类似于 stringWithFormat(“.5g”)!)。示例: 55555 -> "55555" 55
我正在为我的应用程序提取推文,我希望能够以特定方式和颜色设置我的推文的格式。例如,这是一条简单的推文... "@somename This is a sample tweet from twitter
谁能解释为什么这段代码能完美运行: int thumbnailPrefix = trunc([newGraph.dateCreated timeIntervalSinceReferenceDate])
当我阅读如何在 iOS 中使用 Sqlite 时,我遇到了以下行 NSString *query = [NSString stringWithFormat:@"SELECT * FROM tableN
我正在将一些 Objective C(一种我从未使用过的语言......)移植到 C# 项目中,并进入了以下行: altStr = [NSString stringWithFormat:@"%.16f
如果这是一个菜鸟问题,我深表歉意。 我一直在关注this关于 mapkit 的教程,我无意中发现了这行代码 NSString *json = [NSString stringWithFormat:fo
我最近在使用 NSString 的 stringWithFormat: 方法时遇到了很多麻烦。我已经编写了一个对象,它允许您将 N 行文本(由新行分隔)居中、向右或向左对齐。我逻辑的核心是 NSStr
在我的 appDelegate 中,我正在使用 LocationManager : - (void)locationManager: (CLLocationManager *)manager
我将我的申请提交给苹果审核。苹果拒绝并给了我以下崩溃报告。 Thread 0 Crashed: 1 Foundation 0x3595dd04 _NSDe
我是一名优秀的程序员,十分优秀!